How can we help?

Podium Orchestrations


Podium Orchestrations provide an easy way to create, visualize, and monitor cross-channel triggered campaigns for each customer touchpoint. This article provides an introduction to this powerful tool.


  • Set up campaigns with ease: Using Podium, you can launch multiple automations using a single trigger, making welcome, abandon, and re-engagement campaigns a breeze to set up.
  • Visualize your strategy: You can add detailed descriptions to every component of the Orchestration, making it easy to visualize the strategy of each automation.
  • Performance metrics: Podium insights, a set of performance metrics and indicators, are displayed within published Orchestrations. Immediately visible insights for each automation component include overall metrics for status, filtered, and action categories.
  • Version control: Orchestrations support draft, published, and past versions for powerful version control.

Create a new Podium Orchestration

1. Navigate to Automations > Podium Orchestrations and click New.

2. Give the Orchestration a name, add any tags, and click Continue. You will be taken to the Podium Orchestration main page.

3. The order of operations for every automation follows exactly how your components are stacked, starting with message send delay (Wait Until trigger), followed by filter/audience criteria, and ending with the action.

If a contact is filtered out of an automation, they will be ineligible for any subsequent child automations (added below the automation using the Plus button). However, they will remain eligible for any sibling automations (added to the right of the automation using the Plus button), provided they pass those filters.

Orchestration settings

From the main Orchestration page, you can configure your Orchestration with settings defined in the following table.

Name Description
Orchestration name Name of the Orchestration
Enable/Disable Enables or disables the Orchestration. An Orchestration must be published before it can be enabled. Disabling a published Orchestration will stop any messages from being sent.
Save draft Saves an Orchestration draft.
Publish Publishes an Orchestration draft. If viewing a published Orchestration, there will be an option to Copy as Draft.
Version view Displays the Orchestration version view (draft, published, or past versions).
Orchestration view Displays the Orchestration view.
Trigger component Defines the initial trigger for the Orchestration.
  • Trigger Options: Contact's profile is updated, a contact's real time behavior, a date or timestamp, or recurring interval.
Delay component Defines the delay time before contacts are sent through the automation after they meet the initial Orchestration trigger.
  • Delay Options: Immediate, minutes, hours, or days.
Filter component Filters the recipients of the automation using an Audience Rule.
Action component Defines the action for the automation.
  • Action Options: Send an email, SMS (if enabled in the account), mobile push (if enabled in the account), an API request using Open channel to a third party system (if enabled in the account), or a Data Automation job (if enabled in the account).
Wait until component Defines the trigger for subsequent automations.
  • Trigger Options: Do not wait for previous message event (opened, clicked, or bounced), or wait for other event (message event or custom named event).
Add action Adding an action using the Plus icon below an existing automation will add a new child automation starting with the Wait Until trigger component. Adding an action using the Plus icon to the right of an existing automation will add a new sibling automation starting with the Delay component.
Print Prints the Orchestration page.
Zoom Zooms in or out of the Orchestration.
Automation insights Overall performance metrics for status, filtered, and action components are displayed to the right of each automation. A deeper view into these metrics becomes visible when you hover over the desired category to display indicators.

Add descriptions, zoom, and print

When you add a component, it has an easily editable default description. You can also zoom in or out of an Orchestration and print it to share with your team.

Add additional automations

Podium supports multiple automations in a single Orchestration. Click the Plus button to add an additional automation next to (sibling) or below (child) the current automation.

For child and sibling automations, you have options for Do not wait, wait for previous message events (opened, clicked, or bounced), or wait for Other event

Message events are considered system events and are created automatically in the system. Available message events for Podium Orchestrations are opens, clicks, and bounces. Custom-named events are real-time events created by your team. They can be website behaviors such as webpage browse or IoT behaviors such as alarm sounded.

When adding a child automation, you have the option to set an additional trigger: Wait until.

If there are no actions in a delayed state and no activity for a given Orchestration session (no messages sent, filtered out, etc.), then after 32 days Cordial expires that session. Contacts do not indefinitely stay in the delayed state.

Define the trigger

The first step in creating an Orchestration is defining a trigger. Click on the trigger component to open a window containing the following trigger options:

A contact's profile is updated

This trigger is used for Orchestrations based on when a change is made to a contact's profile. For example, you can start a series of automations when a contact is added to the newsletter list or when a contact's loyalty attribute is changed. Selecting this trigger type will display options for choosing either a contact attribute or a list, with dropdown menus for all available attributes or lists in your account.

Use case

Use this trigger when setting up a welcome series. Learn more about setting up a welcome series using Podium here.

A contact's real-time behavior

This trigger is used for starting Orchestrations based on a contact's real-time behavior. For example, you can start a series of automations when a contact opens or clicks a previously sent message automation, or when a contact performs a custom event (such as browsing a page on your website, adding something to their cart, placing an order, etc.). Selecting this trigger type will display a list of message events and custom named events to choose from.

The trigger frequency interval does not reset when an Orchestration is copied to draft and republished.

Use case

Use this trigger when setting up an abandon cart, browse, or search campaign. Learn more about setting up an abandon cart campaign using Podium here.

A date or timestamp

This trigger is used for starting Orchestrations based on a date. For example, you can start a series of automations based on someone's birthday, an anniversary, a sale's expiration, or any other relevant date. Selecting this trigger will display a list of system dates and custom dates to choose from.

Date or timestamp triggers will only count as triggered if the contact meets both the trigger rule and the audience filter.

Use case

Use this trigger when setting up an expiration campaign, such as when a contact's membership is about to expire.

Recurring interval

This trigger is used for starting Orchestrations automatically based on a recurring schedule and an audience of your choice. With all of the Audience Builder rules at your fingertips, the potential use cases are near limitless.

Use case

Using the recurring interval, you can set up a win-back campaign to automatically retarget an audience segment that has not opened the monthly clearance sale message within 15 days of message send time.

Please contact your CSM for details about enabling the recurring interval trigger for your account.

  • Sending Interval: Schedule recurring sends to occur every day, week, or month. If weekly or monthly, specify day of the week or date in a month.
  • At what time: Choose the send time and timezone.
  • Start date: Specify recurring send start date.
  • Add end date (optional): Specify recurring send end date.

1.) For the daily sending interval, you can use the recurring interval scheduler to send a message only once by setting the end date to one day later than the scheduled start date. 2.) Recurring triggers are always followed by a single action component. 3.) Additional sibling action components can be added parallel to one another. 4.) A full automation consisting of Wait Until, Delay, Filter, and Action components can be added below the initial action component(s).

API sending method

This trigger is used to start an Orchestration using an API POST. For example, if you work with a third-party partner to notify clients of an upcoming delivery, your partner can POST the call with the Orchestration ID, which is available in the Orchestration trigger setup.

With API triggers, the Orchestration will automatically launch when you receive the delivery notification API call, deploying the appropriate messages to contacts who meet the criteria.

You can test API calls using the Swagger interface: Orchestrations - v2/Orchestrations/{OrchestrationID/trigger

When using the external variables Smarty utility in an API triggered Podium Orchestration{$extVars.subject}the subject line should include triggerData, looking like this: {$extVars.triggerData.subject}

Order trigger

This trigger is used for starting Orchestrations based on an order. For example, you can start a series of automations when a contact creates or updates an order. Configure the following fields to use an order trigger in your Orchestration:

  • Trigger strategy: 
    • Trigger when an order is created or updated.
    • Trigger only when an order is updated (ignore new orders).
    • Trigger only when an order is created (ignore existing orders).
  • Changed field: Select the data field that, when changed, will engage the order trigger. 
  • Conditional filter: Add additional filters that need to be true in order to trigger the Orchestration.
  • How often can this Orchestration be triggered for an individual: You can choose from once only, unlimited, once an hour, once a day, or a custom interval.

Use case

You could create a campaign that uses an order trigger, such as when an item is placed in the cart, to message a contact about current and upcoming sales.

Set the delay

Once the trigger is defined, you have the option to set a delay before the automation is sent. There are three options for delay timing:

  • No delay (process immediately)
  • Delay for minutes, hours, or days
  • Delay until a specified time

A delay cannot be set for Orchestrations using a date/timestamp trigger. The delay component will be grayed out since the automation will trigger based on the desired date or timestamp trigger.

Changes to the delay period in a previously published Orchestration will take effect for contacts who meet the trigger following the change. The changes will not apply to contacts already in the delayed state.

When an Orchestration is disabled, copied to draft, or republished, the delay timer will not be reset, suspended, or interrupted. If an Orchestration is disabled longer than the delay period duration, the message will not be sent the next time Orchestration is enabled. If the message is removed entirely and Orchestration is republished, the delay period will be canceled.

Delay custom event triggered messages

Unlike immediate sending, delayed sending presents an opportunity for the contact to trigger custom events more than once during the delay—and before the message is sent. This is especially true when the trigger is based on custom events such as browse, product view, add to cart, or other real-time behaviors.

Settings for handling events triggered during the delay become available in the Delay component when you set a custom event as the Orchestration trigger.

Use case: Browse abandonment

Your contact may be interested in a particular pair of jeans on your website. They view the product page but leave without making a purchase. You can send them a follow-up message based on this activity after a specified period of time.

The best suited Orchestration trigger for this use case is A contact’s real time behavior based on a custom event called browse_product.

Conditional event properties allow you to consider only those browse events that match specific criteriain this case, when the product name is Nineties Jeans.

Multiple conditional event properties are linked with an AND operator. All of the conditional event properties have to be met in order for the Orchestration to be triggered.

Available Orchestration trigger frequency options include:

  • Once only: Contact can trigger this Orchestration one time.
  • Unlimited: There is no limit to how many times the contact can trigger this Orchestration.
  • Once an hour: Contact can trigger this Orchestration once every hour.
  • Once a day: Contact can trigger this Orchestration once per day.
  • Custom interval: Specify the number of times the contact can trigger this Orchestration in a set amount of time.

Once the trigger is configured, opening the Delay component will reveal If/Then conditions for handling contact activities (events) while the delay timer counts down.

In the following example, the initial If condition will auto-populate with the browse_product custom event that's set as the Orchestration trigger.

The Then statement can be configured to handle recurring custom event triggers according to the following options:

  • Fire a unique action each time: Send a message for every occurrence of the custom event trigger within the specified delay time. For example, if the delay is set for 10 minutes, a contact who triggers the custom event at 3:00 PM, and again at 3:09 PM, will receive two messages: one at 3:10 PM and the other at 3:19 PM.
  • The trigger frequency determines how many times the Orchestration can be triggered by a contact. If set to Once only, the Fire a unique action each time option will not be applicable because the custom event can't be triggered more than once. In the example above, the trigger frequency is set to Unlimited to facilitate sending multiple messages any time the custom event is triggered during the delay.
  • Continue the delay time: The delay timer will be unaffected by subsequent custom event triggers. For example, the first browse_product event could be triggered at 3:00 PM and a subsequent one at 3:04 PM. Because subsequent triggers are ignored, only one message will be sent at 3:10 PM.
  • Restart delay time: The delay timer will restart from the beginning each time the custom event occurs until it's allowed to expire in absence of repeated triggers.

Multiple If/Then conditions can be added to further automate message sending based on a contact's real-time behavior.

Set the Audience Filter

The Audience Filter allows you to filter the recipients of the automation by an audience rule. You can set up a new audience or load a saved audience.

Define the action

The last component in an automation is the action. Click the Action component to open a window containing the following options:

  • Send an email: sends contacts an automated email message.
  • Send an SMS (if enabled in the account): sends contacts an automated SMS message.
  • Send a mobile push notification (if enabled in the account): sends contacts an automated mobile push message.
  • Make an open channel request (if enabled in the account): makes a RESTful API call to a specified endpoint. 
  • Run a data automation job (if enabled in the account): runs a data job to transform the collection data specified.

Message creation

Selecting an Action option will open the automated message creation page. You can use either the Sculpt or HTML editor to compose your message content. You'll have access to the same message creation features and functionality found in other automated messagesexcept for the ability to edit the sending method.

Automated messages created in Podium can only be viewed and edited within the Orchestration. Podium automations are not accessible outside of Podium.

Pass data from action to action

You can use the SessionStore Smarty utility to pass data from one action to the next. Using getSessionStore returns data stored in a previous action for use in the current action.

Use case

If you send customers unique coupon codes in a welcome series, you can use the SessionStore utility to send a follow-up message to specific customers who haven't used their coupons, including the customer's unique coupon code in the message.

  • Used in: Message Automations Data Automations
  • Syntax: {$data = $utils->getSessionStore()}
  • {$ = '12345'} 
    {$session = $utils->getSessionStore()} 
    Here is your coupon code: {$}

    The getSessionStore and updateSessionStore utilities will only work in a live Podium Orchestration.

  • Here is your coupon code: 12345
  • Parameter Description Required Expected Default
    key A unique key created by the user for a stored session.   required string  N/A 
    filteroptions A filter used to query session records by date. Only indexed fields can be queried.  optional array  [] 

Orchestration experiments

Orchestration experiments provide a simple yet powerful way to create and test multiple automations against one anotherwith the ability to select the best performing automation.

Orchestration goals

Orchestration goals is a deprecated feature and will no longer appear for new Orchestrations. Existing Orchestrations with goals will continue to function normally and display metrics.

Publish and enable

1. Once you've configured your Orchestration components and created your message content, you can publish the entire Orchestration by clicking the Publish Draft button.

If any components are left incomplete, you'll see an error with the incomplete components highlighted.

2. After successfully publishing the Orchestration, you can enable it using the Enable/Disable dropdown.

In the published state, the delay, filter, and action components are set to read-only until the Orchestration is copied as a draft.

When an Orchestration is running and then disabled, all message sending will be stopped for that Orchestration, even if the contact is in the delayed state. Once the Orchestration is enabled again, contacts will continue on the path from their last state and all updates to Podium insights will resume.

View Podium insights

Podium insights are available for your entire Orchestrationand for every automation within the Orchestration. Once an Orchestration is published, enabled, and sending, you can gain insight into its performance all the way down to individual automation components.

Component summary metrics

Component summary metrics are displayed to the right of individual automations. Hovering over each categoryStatus, Filtered, Actionwill display detailed metrics.

  • Waiting: number of contacts waiting to be triggered according to the Wait until trigger.
  • Delayed: number of triggered contacts in the delayed state.
  • Filtered Out: number of contacts that didn't meet the audience criteria and were filtered out of the automation.

Tracked indicators

Tracked indicators for the Action component differ depending on the channel used to send the message. Hover over the channel text to view insights.

  • Email Sent: number of contacts that received the email message.
    • Available insights: Sent, Delivered, Opened, Opened (adjusted), Clicked, Bounced, Opt-outs, Complaints, Revenue.
    • Message Stopped: number of messages that have been stopped when the {stopMessage} Smarty function is used in an email action. This number is shown below the Email Sent action indicator when hovering over the action indicator itself, and the event can be used as a filter in event data reports.

  • SMS Sent (if enabled in the account): number of contacts that received the SMS message.
    • Available insights: Sent by Cordial, Delivered by the carrier, Delivery Failed, Clicked, Revenue.
  • Mobile Push Sent (if enabled in the account): number of contacts that received the push message.
    • Available insights: Sent, Push Sent, In-App Sent, Inbox Sent, Delivery Failed, Push Opened, In-App Displayed, Inbox Read, Revenue.
  • REST Sent: number of REST API calls sent.
    • Available insights: Sent, Failed.
  • Data Jobs: number of contacts that triggered the job.
    • Available insights: Data Job (# of data job), Successful Jobs, Failed Jobs.

When viewing Podium insights for past Orchestration versions, you'll see all campaign metrics up until the point that version was republished.

Drafts and past versions

Copying to draft provides an easy way to modify all aspects of your Orchestration. When an enabled Orchestration is copied to draft, the live published version will continue to run until the new draft is published.

When a draft Orchestration is published, existing Podium insights will not be affected unless the Orchestration contains one or more experiments, in which case the republished version insights will be reset.

All previously published versions are saved under the Past Versions tab. Past versions are saved using the Published timestamp. The enabled date is not displayed in this view.

When copying to draft and adding a new action, the contact that received the initial message will need to re-trigger the Orchestration to receive messages created with the new action, assuming they met the audience criteria and were not filtered out.

Multi-user collaboration in Podium

Podium Orchestrations can be accessed by multiple users at the same time. With the introduction of multi-user collaboration, only one user can be an editor, while other users will have read-only access to the Orchestration. 

Contact your CSM to enable multi-user collaboration in your account.

The first user who opens the Orchestration becomes an editor. All other users are warned that the Orchestration is currently in use. They can access the Orchestration as viewers only. Viewers can open the Orchestration and its components but can’t make any changes. 

When the editor leaves the Orchestration, that Orchestration is unlocked after two minutes and can then be edited by another user. Whoever tries to edit the Orchestration after those two minutes becomes the new editor. If a user enters the Orchestration as a viewer but later becomes the editor, the user will be notified when they become the editor of the Orchestration. If the editor's session times out, the Orchestration gets unlocked and can be edited by another user.

User badges

User badges are displayed next to the Orchestration name in the Orchestration list view when any user opens an Orchestration. User email and role (editor or viewer) can be seen when hovering over the role icon.

The same user badges are displayed in the navigation toolbar when the Orchestration is opened. There can be only one editor (blue badge) and several viewers (gray badge) in the Orchestration.


In the next article, you can learn about Orchestration experiments.



Please sign in to leave a comment.