Callable journeys

This section explains callable journeys, their benefits, and a sample use case for efficient order management using modular, reusable workflows.

What is a callable journey

To manage repetitive actions across multiple journeys efficiently, use callable journeys, which allow for centralized updates and ensure consistency across all workflows.

Thus, callable journey capability is crucial for structuring complex journeys into manageable, reusable components and maintaining clarity by modularizing repetitive tasks into separate callable units.

Unlike typical journeys, which start with their own triggers, child journeys are activated through a call or event from an action within a parent journey. Building and configuring the child journey is essential before creating the parent journey.

Key benefits of callable journeys

  • Centralized updates: Changes made in a callable journey are automatically applied wherever it is called, saving time and reducing the risk of errors.
  • Efficiency: Reusing common steps across multiple journeys enhances efficiency and maintainability.
  • Modularity: Callable journeys simplify complex processes by breaking them down into discrete steps grouped into individual journeys. This modular approach makes the overall journey easier to understand and maintain, as common functionalities are centralized into single journeys that can be invoked by multiple parents as needed.
  • Precision testing: Callable journeys enhance journey testability. Since each journey handles a specific set of actions, it can be tested independently for accuracy and reliability. This focused testing approach is more efficient and can help pinpoint issues within complex journeys quickly.
  • Flexibility in execution: Callable journeys can be configured to run either synchronously or asynchronously, depending on the operational requirements. Synchronous execution ensures that the parent journey waits for the completion of the child journey, ideal for tasks that depend on the outcome of the called journey. Asynchronous execution, on the other hand, allows both journeys to run independently, suitable for parallel task processing.

Usage scenarios

  • Asynchronous calls: Use asynchronous calls when speed is crucial, and you do not need an immediate response from the callable journey. This type of call allows both the parent and child journeys to run independently, making it suitable for tasks that can be processed in parallel without waiting for completion.
  • Synchronous calls: Use synchronous calls when the outcome of the callable journey is essential for the parent journey to continue. In this case, the parent journey will wait for the child journey to complete before proceeding, ensuring that dependent tasks are executed in sequence.

Sample use case: Efficient order management via callable journeys

Consider a scenario in which a WhatsApp by Gupshup-triggered parent journey receives customer messages, extracts order IDs, and directs requests to specific child journeys in Shopify and Google Sheets. This system allows real-time order modifications and detailed order information retrieval directly via WhatsApp.

Structure of the journey

  • In the parent journey triggered by customer messages via WhatsApp by Gupshup, the order ID is extracted, and the nature of the request - email change or shipment status is identified.
  • Depending on the identified request, the journey then calls one of two child journeys:
    • Child journey 1, which handles email updates within Shopify, or
    • Child journey 2, which is responsible for displaying the shipment status to the customer via WhatsApp.

📚 Additional resources

API management overview
Sample use case on callable journeys: Efficient order management