Skip to content
Open platform (opens in a new tab)

Flows

Automate what happens after an order, a review, an upload, or a loyalty event: wait, check conditions, then send an email or an event to your CRM.

A flow runs on its own when something happens in your store or in Cevoid, such as an order being delivered or a review being submitted. It can wait, check conditions, and then send an email, or an event to Klaviyo, Voyado, or your own endpoint. Review requests, thank-you emails, and reply emails are all flows.

Navigate to Settings → Flows⁠ to manage your flows.

How flows work

A flow is a trigger followed by steps, drawn as cards on a canvas. Each time the trigger happens, Cevoid starts a run of the flow, such as one run for each delivered order. To follow runs, see Flow runs.

PartWhat it does
TriggerThe event that starts the flow, such as Order delivered. A flow has one trigger, which can't be changed after the flow is created
WaitHolds the run for a set time
FilterLets the run continue only when its conditions match
If / elseSends the run down a True or a False branch, depending on its conditions
ActionSends an email, or an event to Klaviyo, Voyado, or a webhook. Every path ends with an action

You build a flow as a draft. Publishing turns the draft into the flow's live version, and the flow starts running. Later changes stay in the draft until you publish them, so the live version keeps running while you edit.

StatusWhat it means
DraftNot published yet. Nothing runs
LivePublished. Each new trigger event starts a run
PausedPublished, but new trigger events don't start runs
ArchivedRetired. New trigger events don't start runs

Click a flow in Settings → Flows⁠ to open its page, with its draft, Version history, and Runs.

Create a flow

Create flow on Settings → Flows⁠ offers three starting points:

Starting pointWhat it creates
Blank flowA flow with only the trigger you select. You add the steps
Review requestA review request flow from a recipe. See Review requests
Forward eventA flow that sends its trigger's event to Klaviyo, Voyado, or a Webhook. Klaviyo and Voyado need their integration connected

Suggested flows, above your flows, add ready-made Reviews flows. See Set up the suggested review request flow, Set up reply emails, and Send thank-you emails.

To start from a blank flow, or to forward an event:

  1. Navigate to Settings → Flows⁠ and click Create flow
  2. Select Blank flow, or select Forward event and then Klaviyo, Voyado, or Webhook
  3. Select the trigger. For a webhook, also select or create its destination: see Set up a webhook. The flow opens in the editor as a draft.

Triggers

A trigger is the event that starts a flow. You select it when you create the flow, from the groups Orders, Reviews, Uploads, Tiers, Rewards, and Points.

TriggerStarts a run when
Order fulfilledThe whole order is fulfilled. WooCommerce orders count as fulfilled when they're Completed
Order deliveredThe whole order is delivered. On Shopify, when the carrier reports the delivery, with delivery events enabled in Settings → Orders⁠. WooCommerce orders are never delivered
Product review submittedA customer submits a product review
Company review submittedA customer submits a company review
Product review repliedYour team replies to a product review
Company review repliedYour team replies to a company review
Upload completedA customer's upload finishes processing
Tier earnedA member earns a tier
Reward fulfilledA member gets rewards, from an activity, a redeemable reward, a tier, or a purchase incentive
Tier evaluation approachingA tier evaluation reminder is due
Points expiration approachingA friendly or last points expiration reminder is due

Orders from an order history import, and reviews you import, never start a flow. To run past orders through a flow, see Enroll past orders.

Add and connect steps

The flow editor shows the flow as cards on a canvas, with Add steps on the left: Wait, Filter, and If / else under Flow control, and Action under Actions.

  • Add a step: Click it in Add steps. In a flow without an If / else, Cevoid puts it in order: an action at the end, other steps before the first action. You can also drag a step onto the canvas.
  • Connect steps: Drag from the dot on the right of a card to the next card. In a flow with an If / else, a new step starts unconnected.
  • Set up a step: Click its card. Its settings open in a panel, with Delete step at the bottom.

Auto-organize lines up the cards. Moving cards saves on its own, while other changes need Save draft or publishing.

StepSettings
WaitDuration in minutes, hours, days, weeks, or months. A week is 7 days, and a month is a calendar month
FilterConditions that must match for the run to continue. Otherwise the run ends at this step
If / elseConditions. When they match, the run takes the True branch, otherwise the False branch. Each branch needs its own next step
ActionWhat to send, and where. See Actions

Conditions

Filter and If / else steps check conditions about the customer and about what started the flow. Click Condition, select a field, then set the comparison and the value. With several conditions, all of them must match: click Match all filters to switch to Match any filter.

Field groupExamplesChecked against
ProfileLanguage, Last active market, Segment, profile properties. With the Loyalty program, also Points balance and Current tierCurrent data, when the step runs
OrderMarket, Contains product, Profile has reviewed all productsCurrent data, when the step runs
ReviewRating, Language, Market, Has mediaCurrent data, when the step runs
Reply, Upload, Tier, Reward fulfillment, Tier evaluation, Points expirationVisibility, Upload form, Earned tier, Reminder stageThe event that started the flow

Each trigger offers Profile and the groups that fit it. A condition on Rating can never lead to a review request: see Who gets a review request.

Actions

An Action step sends something. Set Action type to what it sends and Delivery target to where. The step offers only the action types that fit the flow's trigger.

Action typeTriggersDelivery targets
Product review requestOrder fulfilled, Order deliveredEmail, Klaviyo, Voyado, Webhook
Company review requestOrder fulfilled, Order delivered, Product review submittedEmail, Klaviyo, Voyado, Webhook
Review thank youProduct review submitted, Company review submittedEmail
Public reply notification, Private reply notificationProduct review replied, Company review repliedEmail
Content upload requestOrder fulfilled, Order deliveredEmail, Klaviyo, Voyado, Webhook
Send notificationEvery triggerKlaviyo, Voyado, Webhook. Email too on Upload completed and the tier, reward, and points triggers
  • Review actions: See Review requests, Replies, and Review emails
  • Content upload request: Asks the customer for photos or videos of their order, with a link to the upload form you select in Upload destination. It isn't sent for canceled or fully refunded orders.
  • Send notification: Sends the trigger's data, such as the order, the review, and the customer's profile. Click Preview payload on the step to see it.

Delivery targets

TargetHow it sends
EmailCevoid emails the customer from the email template selected in Email template. Select Create a new template there to add one
KlaviyoAn event named in Event name, by default after the trigger, such as Cevoid: Order Delivered. Klaviyo routing shows which account each market's events go to
VoyadoA contact interaction named in Event name, cevoid_flow_event by default
WebhookA signed request to your own HTTPS endpoint, selected in Webhook destination. See Create a webhook destination

Klaviyo and Voyado show as targets once they're connected: see Klaviyo and Voyado.

Emails that Cevoid sends follow these rules:

  • The customer needs an email address that hasn't bounced or been marked as spam
  • Review requests and content upload requests go only to customers who agreed to marketing email
  • Tier and reward emails need the member's Confirmation emails preference, and points and tier evaluation reminders their Reminder emails preference. Rewards that come with a tier get no Earned/redeemed reward email.
  • A points expiration or tier evaluation reminder is skipped if it no longer applies when it's due

Create a webhook destination

A webhook destination is your own HTTPS endpoint, which receives a flow's events as signed requests. You create it from an Action step.

Note:

Webhooks need a service of your own that receives the requests. If you don't build it yourself, share these steps with your developer.

  1. Navigate to Settings → Flows⁠ and open the flow
  2. Click Edit flow
  3. Set Delivery target to Webhook in the Action step
  4. Select Create destination in Webhook destination
  5. Enter a name and the endpoint's HTTPS URL. A description is optional.
  6. Click Create destination. The signing secret appears.
  7. Copy the signing secret. Cevoid can't show it again.
  8. Click I saved the secret. The new destination is selected in the step.

To use a destination you already have, select it in Webhook destination instead. For the request format, see Webhooks via Flows. Each delivery shows in Outbox.

Publish a flow

Publishing makes a flow's draft its live version. The status changes to Live, and new trigger events start runs.

  1. Navigate to Settings → Flows⁠ and open the flow
  2. Click Edit flow
  3. Click Publish flow. For a flow that's been published before, the button is Publish changes.

Publishing saves the draft first. If the flow isn't ready, see Why can't I publish my flow?.

Edit a live flow

Edits to a live flow stay in its draft until you publish them.

  1. Navigate to Settings → Flows⁠ and open the flow
  2. Click Edit flow
  3. Click a step and change its settings
  4. Optional: Click Save draft to keep your changes without publishing them
  5. Click Publish changes

Each publish adds a version under Version history on the flow's page. New runs use the new version, and runs that already started keep the version they started with.

Pause or activate a flow

Pausing a live flow stops new trigger events from starting runs. Runs that already started keep going, and their scheduled emails and events still go out, unless you cancel the run.

  1. Navigate to Settings → Flows⁠ and open the flow
  2. Click More
  3. Select Pause. The status changes to Paused.

To start the flow again, select Activate in the same menu. Pause and Activate are only on the flow's page.

Manage your flows

Each flow has a menu: ... in its row on Settings → Flows⁠, or More on the flow's page and in the editor.

ActionWhat it does
RenameChanges the flow's name
DuplicateCreates a draft copy, named after the original with "copy" at the end, and opens it
ArchiveRetires a published flow. Its status changes to Archived
Trigger test runRuns the flow once as a test. See Test a flow
Enroll historical ordersRuns past orders through a live flow on an order trigger. See Enroll past orders
DeleteDeletes the flow
Warning:

Deleting a flow also deletes its run history. This can't be undone.

Troubleshooting

Why can't I publish my flow?

Flow is not ready to publish names the first problem, and the editor opens the step it's in. After that, the badge at the top of the editor counts every issue: hover over it to see them all. Check that every Action step has its email template, event name, or webhook destination set.

MessageWhat to do
Every flow path must end with an actionEnd every path, including both branches of each If / else, with an Action step
All nodes must be reachable from the triggerConnect every step to the flow, or delete the steps you don't use
If/Else nodes require exactly one Yes and one No connectionConnect both the True and the False branch of the If / else step
Add at least one complete condition before publishing.Finish the condition in the Filter or If / else step
Flows cannot contain loopsRemove the connection that leads back to an earlier step
Select an upload destinationSelect an upload form in Upload destination
Webhook destination must be activeSelect an active destination in Webhook destination
Product review request is already active in followed by a flow's nameOnly one live flow can hold a product review request. Pause the other flow, or add your changes to it
Review invitations cannot be gated using sentiment or ratingRemove the Rating condition in front of the review request
Product and company review requests must be placed on separate branchesPut each request on its own branch of an If / else step
Order synchronization is disabledEnable Sync orders in Settings → Orders⁠
Shopify delivery access must be enabled for every connected store before publishing this workflowEnable delivery events for each store in Settings → Orders⁠
Order synchronization must be ready for every connected Shopify storeCheck each store's order sync in Settings → Orders⁠