MailChimp Marketing Automation Workflow – Is it powerful enough?

Simple and Non Technical

What do you do if the MailChimp marketing automation workflow tool is simply not powerful enough for you?

MailChimp is a great email marketing tool.  In fact, by most accounts, it is the most popular of the truly simple email marketing tools for the SMB market.  The MailChimp marketing automation workflow tool is great for marketers.  The MailChimp marketing automation workflow tool allows a non-tech user to manage events, triggers, and simple workflows in MailChimp.

Complex Mailchimp Marketing Automation Workflow Use Cases

However,  there are plenty of complex Mailchimp workflow use cases where you might want to be able to hack the MailChimp API to do things that are a little non standard.  If you are a developer, and you want to create a MailChimp marketing automation workflow or other type of workflow that is not completely standard, then you might be interested in the example use case and workflow hack that we did to MailChimp using ProcessMaker I/O.  Let me tell you more about our sample Use Case.

ProcessMaker I/O Sample Mailchimp Workflow Use Case

We had a prospect reach out to us the other day with an interesting Mailchimp workflow use case.  We felt that her requirement would make for an interesting sample process in ProcessMaker I/O so we built it.  Workflows are incredibly easy to build in ProcessMaker I/O thanks to the extremely developer friendly API and API documentation in the product.  (Hint:  If you have a use case or want to just try something outlandish, give us a shout.)

This company wanted to do something that seemed relatively simple.  However, the requirement falls just beyond the scope of the built-in Mailchimp Marketing Automation Workflow.  This is the kind of advanced and more customized workflow that is perfect for ProcessMaker I/O.

The Mailchimp Workflow Use Case

The company wanted to setup a notification system so that if someone subscribed to their service they would automatically subscribe them in Mailchimp.  Mailchimp has a way to do this directly.  However, the company then wanted to be notified if the attempted subscription was successful or unsuccessful, and they wanted this notification posted directly in a Slack Channel.  (If you want to see another example use case in Slack, click here for our Leave Absence Request Process in Slack). It was the extra visibility through their slack channel that they did not have but needed. It works as follows:

  1. Workflow kicks off with either a subscribe or unsubscribe action in Mailchimp
  2. If successful, a success message is posted to a Slack Channel and an email is sent
  3. If unsuccessful, a message is posted in a Slack channel so that the appropriate follow up can happen
  4. Similar logic happens when someone unsubscribes
Complex Mailchimp workflow
Complex Mailchimp Workflow in ProcessMaker I/O

Using a BPMN 2.0 Process File vs. Calling the API Programmatically

The ProcessMaker I/O Api can be called programmatically.  However, to build this use case, we designed it using a BPMN 2.0 editor. In this process the BPMN 2.0 file will call a number of service tasks.  Here is the example for the service task code that calls Slack when there is a subscription success.

<bpmn2:serviceTask id=”Task_09hx0f9″ name=”Slack Subscription Success”>
<bpmn2:extensionElements>
<processmaker:connector>
<processmaker:inputOutput>
<processmaker:inputParameter name=”api_url”>https://slack.com/api/chat.postMessage</processmaker:inputParameter>
<processmaker:inputParameter name=”text”><![CDATA[A new subscription has been done for {customer_fname} {customer_lname} <{customer_email}>.
]]></processmaker:inputParameter>
<processmaker:inputParameter name=”token”>{slack_token}</processmaker:inputParameter>
<processmaker:inputParameter name=”channel”>{slack_channel}</processmaker:inputParameter>
</processmaker:inputOutput>
<processmaker:connectorId>Slack\ApiConnector</processmaker:connectorId>
</processmaker:connector>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1uq6fa8</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1xprrd7</bpmn2:outgoing>
</bpmn2:serviceTask>

“ProcessMaker” gets replaced depending on the process designer you are using.  Following is the way the code generates to reflect a decision point at the gateway.

<bpmn2:sequenceFlow id=”SequenceFlow_1uq6fa8″ name=”successful” sourceRef=”ExclusiveGateway_0a4vmcs” targetRef=”Task_09hx0f9″>
<bpmn2:conditionExpression xsi:type=”bpmn2:tFormalExpression”>subscription_successful=1</bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id=”SequenceFlow_1lg64o1″ name=”!successful” sourceRef=”ExclusiveGateway_0a4vmcs” targetRef=”Task_187lk8y”>
<bpmn2:conditionExpression xsi:type=”bpmn2:tFormalExpression”>subscription_successful = 0</bpmn2:conditionExpression>
</bpmn2:sequenceFlow>

Of course, if you prefer not to look at the XML, you have the nice visual representation above.  This is the benefit of using a bpmn 2.0 process design and authoring tool for creating processes.  In more complex processes, the visual process design can be very useful.

Other Tools We Might Have Used

This use case does not fit well into the native Mailchimp Marketing Automation Workflow tool.  There are some other tools we might think about using to solve this challenge.  However, each would be a little difficult for different reasons.  Let’s review them:

  1. iPaaS – It would be difficult to use an Integration Platform as a Service Company.  These companies like Mulesoft, Dell Boomi, Zapier, or Flowgear do a great job with connectors.  However, they have very limited workflow capabilities.
  2. BPMs – It would be difficult to use a full blown BPMs to do this job.  A full blown BPMs would just feel like too much overkill.  A full BPMs like Oracle or AuraPortal or even our very own product – ProcessMaker – could handle the workflow and have a way to build the connectors, but this would be like trying to kill a flea with a sledge hammer.  It is just not the tool for the job.  A developer needs to be able to quickly engage in a frictionless way with the API of the workflow engine to solve this problem.  BPM has so many additional concepts and tools that are not needed in this case.
  3. Rules Engine – A pure rules engine or DMN framework would not address this challenge.  There are a few rules, but there is more workflow and connectors than rules.  The rules are relatively simple.  The flow and the seamless connection to the connectors is the challenge here.

Summary

In conclusion, we can see that ProcessMaker I/O is an elegant way to add complex workflow to a use case that falls just outside the normal realm of the MailChimp Marketing Automation Workflow tool.  Feel free to see the full description and watch the video of how this use case works by clicking here.

Sign Up today for a free developer account at ProcessMaker I/O to start trying out the workflow API.  Developer accounts are always free!

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *