Orchestration Webhooks
Authors:
Nandha Balaguru, Esma Tuzovic, Anita Gu, Cille Schliebitz
Changed on:
3 Feb 2025
Overview
Fluent workflows use webhooks for real-time communication with external systems, triggered at specific workflow points. Webhooks provide timely updates for order status, shipping, payments, and inventory movements. The standard SendWebhook rule simplifies outbound communication by sending basic data, allowing external systems to retrieve additional information as needed.
Key points
- Real-time Communication: Outbound communication from workflows.
- Reusable Rule: rule can be used across multiple workflows.
`sendWebhook`
- Order Status Updates: Triggers for status changes (e.g., order completion).
- Payment Processing: Webhooks manage payment processes post-dispatch.
- Inventory Tracking: Tracks stock changes via webhooks to external systems.
All outbound communication to other systems from Fluent workflows is done via a webhook.
Webhooks are triggered from a specific workflow at a specific point within the workflow; this is done by adding a webhook rule in the workflow.
The benefit of using webhooks is that information is available in real time, rather than having to poll the Fluent APIs for information.
The Fluent Orchestration Engine posts an event to a configured endpoint so that a third-party system can be notified or react to the provided event.
Common webhook scenarios include:
- order status updates
- shipping notifications
Standard Fluent Rules
Standard rules involve sending a webhook rule—the design intention is that this webhook rule is reused across all workflows when a webhook is required for outbound communication. For example, Order Status updates may be sent from Fluent Order Workflow to an outbound ERP system when an Order moves to a status of COMPLETE.
The standard sendWebhook rule is a lightweight webhook that contains very minimal information such as 'entity' and 'status'. It is then up to the external system to use this information to query back to Fluent to retrieve the data that is required.
SendWebhook rule can be re-used to trigger a webhook for the following business scenarios
Payment capture: If payment capture occurs after a particular event or status in Fluent, e.g., when an order has been dispatched, Fluent will trigger a webhook to a middleware or payment service provider to trigger the payment capture process.
Notifications: Often in the customer journey, there will be touch points where we might want to contact the customer to provide them with information about their order when it is in a certain status. A notification webhook could be triggered from the Order Workflow when we know the order is Ready for Collection.
Inventory movement: If there is an external system ERP, it will likely want to know inventory movements within and out of the company. A webhook could be triggered during order dispatch to reflect this. This system may also want to be notified if any stock is moved from one location to another internally, such as store-to-store transfers; again, a webhook could be sent when the arrival process is completed in Store X to acknowledge the transfer has occurred.