diff --git a/defaults/main.yml b/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7aa7413cf44e27fb5f6b08cd7a5d37281f485af4
--- /dev/null
+++ b/defaults/main.yml
@@ -0,0 +1 @@
+zabbix_agent_url: 'http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb'
diff --git a/tasks/install.yml b/tasks/install.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fb2bc411a2a7c6942d0d9df2d25e2a5aef142b32
--- /dev/null
+++ b/tasks/install.yml
@@ -0,0 +1,15 @@
+---
+# file: roles/zabbix_agent/tasks/main.yml
+
+- name: "Download Zabbix Agent"
+  get_url:
+    url: '{{ zabbix_agent_url }}'
+    dest: '/tmp/zabbix_agent.deb'
+
+- name: "Install Zabbix Agent"
+  shell: 'dpkg -i /tmp/zabbix_agent.deb'
+
+- name: "Upgrade Zabbix-Agent"
+  apt:
+    upgrade: yes
+    update_cache: yes
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b2258c7d5c9d693a690d74ea95cc414cec706e61
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,16 @@
+---
+# file: roles/zabbix_agent/tasks/main.yml
+
+- name: "Zabbix Agent Role"
+  set_fact: role_zabbix_agent_started=true
+  tags: always
+
+- block:
+
+  - include: install.yml
+
+  - name: 'Remember that this role had been run'
+    set_fact: role_zabbix_agent_completed=true
+    tags: always
+
+  when: '"zabbix_agent" not in excluded_roles and role_zabbix_agent_completed is not defined'