As you probably have noticed in the past couple of years, event streaming is a very hot topic these days. Almost every integration platform has the possibility to provide streaming capabilities in one way or the other. This means, having a constant flow of data, each containing information about an event or a change of state, flowing through your integration flows. webMethods.io is no different. It gives you the power to connect apps, devices, and on-premises systems with only clicks and zero code. It also allows you to have a constant data stream between these different components. This can be done with webMethods.io’s two basic integration components:
- webMethods.io Workflows
- webMethods.io FlowServices
Now, although these two ultimately help you accomplish the same goal, there are some notable differences between the two. Let’s go over them really quick, so you know which one’s suited most for you.
Now, it is of course perfectly possible to only use WorkFlows, if your use case is relatively simple. However, when a more complex use case is needed, the goal is to use both together. For example, you can have a SalesForce trigger as input for your workflow, but you need to transform events (JSON), using different field checks, etc. Eventually, that JSON needs to be sent to a specific endpoint, where you have no out-of-the-box connector in your Workflow.
This is an example where an integration specialist would step in, and create a complex data mapping in FlowServices, as well as a custom connector to reach the endpoint.
The final step is then importing that FlowService in your workflow, and tadaaa, you have a workflow streaming SalesForce events with a complex data mapping & connector running behind the scenes in the FlowService!
Salesforce event streaming with webMethods.io Workflows
Now you’ve had a short introduction of the two main products from webMethods.io, let’s look at how we can actually set up the event stream from SalesForce using a WorkFlow. So after creating a fresh workflow, you can select your desired trigger, which contains an impressive list of options. For our case, however, we need the “Salesforce streams” Trigger.
Once you selected the Streams to trigger, you’ll have to specify your connection parameters, as well as some other properties related to the actual events you want to receive. You can select which type of SalesForce event you actually want to receive. The options are “PushTopic events”, “Platform events”, “Change data capture events” and “Generic events”. I think most of the time, the “Change data capture events” is the most popular option since this results in events related to every type of data change on Salesforce. But of course, feel free to investigate the other options.
The next option is the “Channel” option, which gives you a list of all the different types of change events you can choose from. Now, one big attention point we noticed to this, is that you only have the option to get:
- All Salesforce change events
- One specific change event
So, you don’t have the option to select multiple specific events.. which is a pity of course.
Now you’ve got your Salesforce trigger in place, you can start connecting and routing your workflow according to your use case. For example, webMethods.io has a nice switch-case feature that you can implement in your flow, and route specific events to specific out terminals. This way you can implement different actions based on the type of SalesForce change event, very useful!
Implementing FlowServices into your main workflow
So, as mentioned in the introduction, Workflows, and FlowServices work hand in hand. Below you see a very basic example of a FlowService integrated with a webMethods.io workflow. As the node describes, a complex data mapping is done in the FlowService before creating a new card on our Trello board when a SalesForce contact is updated.
To add this FlowService, you can just go to your connector tab in your workflow environment and go to the second tab. There you can see the list of all your FlowServices:
Alright, now you’ve had a brief summary of SoftwareAG webMethods.io integration Workflows & FlowServices, as well as the SalesForce event streaming aspect, it’s time, to sum up our positives regarding our short development experience, and some possible points of improvement to make the development experience even more pleasant.
- Clean and easy-to-use graphical user interface
- A lot of out-of-the-box connectors
- Integration with FlowServices is very intuitive
- Great data mapping features in most nodes (also in form of a drag-and-drop system)
Points of improvement
- Possibility to select multiple specific channels when using SalesForce event streaming, instead of “All or only one”