Run actions based on email subject/body

Hi all!

would it be possible to trigger some external actions, either on the same Zammad server or remotely, when an email is received with specific words in the subject?

For example:

Subject: [zammad-action] deploy new vm foobar
Body:
vCPUs: 2
RAM: 4096
VLAN: target-vlan-name
IP: 1.2.3.4
NETMASK: 24
GW: 1.2.3.1

this would trigger a Terraform plan or a script to get a new VM deployed

Subject: [zammad-action] configure foobar

this would trigger another script or Ansible and run one or more playbooks to do some configuration management on the server/VM foobar

Subject: [zammad-action] help

this would return a list of available choices, pretty much like what Majordomo did in the past :slight_smile:

Of course, some kind of control mechanism should exist in order to avoid the system to be flooded with actions… i.e.: avoid a user sending 10000 emails with the same request, add some throttling, etc

What do you think guys?

I look forward to your reactions.

Thanks and regards,

Personally I’m no fan for automatically running scripts triggered from a web UI.
However, this may be solved by webhooks in the future which currently is receiving some love.

If that’s not fitting your goal, well, then there’s no option as of now.
(Webhooks: https://github.com/zammad/zammad/pull/3185)

3 Likes

Webhooks would be amazing. Seems like you’ve started working on that internally?