I taught an advanced development class on Orchard CMS this morning, and thought I would mention a live coding example I did today. My favorite parts of Orchard CMS are the behind-the-scenes features that you don't hear too much about, like scheduling tasks, events, workflow, etc. These are incredibly powerful CMS features and most Orchard CMS Developers I talk to rarely utilize them to their fullest. In particular, I love integrating Orchard CMS with external services, especially using Workflow, because it is incredibly empowering to drag-and-drop various components onto a blank canvas to create something very rich and meaningful to your business.
Prior to my class this morning the developers mentioned they use Slack for much of their company communications. Slack has a really rich and simple messaging API that encourages real-time communications with external services, so this week I built a couple of Orchard CMS Workflow Components ahead of time for the class that integrate with Slack Incoming and Outgoing Webhooks. And, this morning, I live coded the Slack Incoming Webhook Component from scratch.
Route Dynamic Form Requests to Slack
The example I demonstrated was to route all demo requests from an Orchard CMS Website to a Slack channel. A workflow was created that responds to form submissions of a Demo Form built using Dynamic Forms. Form submissions are sent to the Slack Workflow Activity, which sends them to Slack via an Incoming Webhook.
When a new Demo Request Form is submitted, the Orchard CMS Workflow executes and all the information submitted in the form is displayed in the Slack channel.
This just scratches the surface of what is possible when you start integrating your Orchard CMS website with external services, like Slack. I also demonstrated receiving and responding to Slack Outgoing Webhooks, too. With a bit of additional development one could develop Slash Commands, bots, etc. that integrate deeper with Orchard CMS and make this communications much richer.
I enjoyed teaching the class this morning and coding the Slack Workflow Activities to demonstrate the power of Orchard CMS. If you're new to Orchard CMS, I hope this inspires you to use the advanced features like Workflow.
If you're interested in hiring an Orchard CMS Developer, contact me.