Journeys with Action Nodes


There may be times where you want to account for an event that is not directly handled by the Alloy system, such as extending an offer to a customer or making a request to an external service. Action nodes can be used for this purpose.

In order to do so, you can configure your journey using action nodes to pause to wait for such event, and then manually advance the journey based on the outcome of the event by making a PUT request to

Configure a Journey with an Action Node

  • Create an new action
    • Navigate to and click on ‘Add Action’
    • Action types
      • ‘End User’ refers to events that require an action on the part of the end user
      • ‘Service’ refers to events that rely on the response of an external service.
    • Optionally set the number of days to expiration for the action. See section below for more details.
    • Select the possible outcomes for the action. If you enter a value in the number of days field, an expired outcome will appear in the list of outcomes, as well as those configured in Outcomes Settings ( See below section for more information on Expiring Action Nodes.
  • Add a new node to a new or existing journey, selecting the the name of the action you have just created.
  • Map the outcomes of the action node to the nodes for the path you desire.

Handling an Application for a Journey with an Action Node

  • Create an application for the Journey with an action node.
  • Verify that an entity application has successfully advanced along the path that leads to the action node by doing the following:
    • Look for an event  of type pending_action for an entity by making a GET request to journeys/:journey_token/applications/:application_token (see Get an Application).
  • Once the external event has finished and you have determined the outcome based on the result of this event, submit the outcome by making a PUT request to journeys/:journey_token/applications/:application_token/nodes/:node_id (See Below)
  • Verify that the application has properly advanced based on the outcome submitted by making another GET request or viewing the application in the UI at

Example PUT Update for an Action Node

curl --request PUT \
     --url '' \
     --header 'Content-Type: application/json' \
     -u workflow_token:workflow_secret \
     --data '{
         "outcome": "approved"

Expiring Action Nodes

  • When you create or edit an action, you can configure it to expire after a certain number of days.

  • If an action expires, the journey application advances to the node to which the expired outcome for that action is mapped.

  • The expiration timer for an action starts when an application arrives at that node.

  • It is important to note that an application with an expiring action node does not advance to the next node immediately when the timer hits the expiration time. Rather, it can advance at the following moments:

  • When the system checks that the application’s current node has expired.

    • Every 12 hours from the time an application advances to an action node that expires, the system checks if the node has expired since it has last checked. If it the action node has since expired, then the application advances.
  • When a PUT request is made to  journeys/:journey_token/applications/:application_token/nodes/:node_id and the action node has expired.

Did this page help you?