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.
  • 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. These detailed indicators are visible when you hover over each category.
  • Set goals: Orchestration goals can be used to remove contacts who meet the desired goal from an orchestration based on their real-time behavior.
  • Version control: Orchestrations support draft, published, and past versions for powerful version control.
  • Visualize your strategy: You can add detailed descriptions to every component of the orchestration, making it easy to visualize the strategy of each automation. You can also print orchestrations for sharing with your team members.

Create a new Podium orchestration

  1. Navigate to Message Automation > 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.

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 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).
Goal View Displays the orchestration goal.
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 and print

When a component is configured, a default description is added. You can easily edit the description. You can 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. Clicking the Plus button will add an additional automation either 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 event or custom named event) before the automation will send.

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

Define the trigger

The first step in an orchestration is defining a trigger. Clicking on the trigger component will open a window containing the following trigger options:

A contact's profile is updated

This trigger is used for starting orchestrations 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 automation, or when a contact performs a custom event (browses a page on your website, adds something to the cart, places 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/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 birthdate, an anniversary, an 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 a set of Audience Rules. With all of the Audience Builder rules at your disposal, the potential use cases are near limitless.

Use case

For example, 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 kick off when you receive the delivery notification API call, deploying the appropriate messages to contacts who meet the criteria.

API calls can be tested 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 be effective for contacts who meet the trigger following the change. They will not apply to contacts who are 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 delayand 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 behaviors.

Settings for handling events triggered during delay will become available in the Delay component when the orchestration trigger is based on a custom event.

Use case: browse abandonment

Your contact may be interested in a particular jacket on your website. They view the product page but leave without making a purchase. You are able to 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 Cordial Blue Jacket.

Multiple conditional event properties are linked with an AND operator, and all 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 per number of days or hours.

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 is 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 be triggered no more than once. In the example above, the trigger frequency is set to Unlimited to compliment 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 is sent at 3:10 PM.
  • Restart Delay time: The delay timer will restart from the beginning each time the custom event occurs until it is 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. Clicking on the Action component will 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 will 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.

Set the orchestration goal

The orchestration goal is used to set a primary objective for the orchestration. This objective is defined by a custom event such as "Placed an order" or "Viewed a webpage." When contacts complete the objective, they can be excluded from or continue through the remaining actions within the orchestration.

The orchestration goal is optional and not required before an orchestration can be published and enabled.

Clicking on the Goal icon will display options to set a goal for the orchestration. Give the goal a name, select a custom named event, and define what happens to a contact when the goal is met. There are also options to exclude contacts from an orchestration.

Publish and enable

Once all components are configured and your message content is created, you can publish the entire orchestration by clicking the Publish Draft button.

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

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 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.

Goal performance will be displayed at the top of the orchestration page. Results can be viewed as total or unique values and applied to the Current version only, or Aggregates, which includes past versions of the orchestration.

  • Current Version: display results for the currently published version only.
  • Aggregates: display results for all versions of the orchestration, current and past.

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

  • 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, 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 will see all campaign metrics up until the point that version was re-published.

Drafts and past versions

Copying to draft provides an easy way to modify all aspects of the 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 will be 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 that they are now 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 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.