Build an automation campaign

Create a trigger-based email and/or in-app automation, review its content, and manage its lifecycle.

campaigns marketing automation email in-app triggers

An automation campaign sends a message when customer activity matches a trigger, such as a completed job, an unpaid invoice, a quote that was not approved, a promotional-code event, or time since the customer’s last service. Use it for repeatable nudges and lifecycle messages that should run in the background.

Before you start: sign in with an account that can manage marketing (an operator/employer account). For email automations, have a published marketing template ready. To target a saved audience, create a segment first.

  1. 1

    Open Automation Campaigns

    In the left navigation, open Marketing and select Automation Campaigns. The list shows each automation’s Trigger, Date Created, Status, Recipients, Open Rate, and Click Rate. Use the All, Active, Paused, Draft, and Archived tabs to filter by lifecycle state.

    The Automation Campaigns list with status tabs, filters, and usage banners.

    The Automation Campaigns list with status tabs, filters, and usage banners.

  2. 2

    Start an automation

    Select New Campaign. On Campaign Type, choose Automation Campaign, then select Continue. Choosing One Time Campaign instead switches to the single-send campaign wizard.

    Choose Automation Campaign to start the trigger-based wizard.

    Choose Automation Campaign to start the trigger-based wizard.

  3. 3

    Choose the trigger family

    On Select Trigger, choose what starts the automation. Current trigger families are Quote Not Approved, Job Completed, Invoice Unpaid, Promotional Code, and Time Since Last Service.

    The trigger cards available for automation campaigns.

    The trigger cards available for automation campaigns.

  4. Triggers with day-based timing

    Quote Not Approved, Invoice Unpaid, and Time Since Last Service ask for how many days after the source event CleanOps should evaluate the automation. For example, a quote follow-up can run after the quote has gone unapproved for the number of days you enter.

    Day-based triggers ask how many days to wait before evaluating.

    Day-based triggers ask how many days to wait before evaluating.

  5. Promotional-code trigger options

    Promotional Code automations ask for a promo code and a sub-event: Activated, First Redeemed, or Approaching Expiry. The expiry branch also asks how many days before expiration to send.

    Promotional Code triggers add code, sub-event, and expiry timing fields.

    Promotional Code triggers add code, sub-event, and expiry timing fields.

  6. 4

    Select Job Completed

    For a post-service follow-up, choose Job Completed and select Continue. This trigger starts from completed jobs and does not need extra trigger fields.

    Job Completed selected as the automation trigger.

    Job Completed selected as the automation trigger.

  7. 5

    Send immediately after the trigger

    On Setup Schedule, keep Send immediately selected when the message should run as soon as the trigger is eligible, then select Continue.

    Send immediately runs the automation as soon as the trigger qualifies.

    Send immediately runs the automation as soon as the trigger qualifies.

  8. 6

    Or add a delay

    Choose Delay delivery when the automation should wait after the trigger. Enter the delay amount and choose the unit, such as days, then continue. The delay is relative to the trigger event, not the date you publish the campaign.

    Delay delivery waits after the trigger before sending.

    Delay delivery waits after the trigger before sending.

  9. Channel branches

    On Select Channel, choose Email, In-app, or both. Email uses a marketing template and counts against the monthly email allowance. In-app sends a customer portal notification and only reaches customers with portal access.

    Both Email and In-app selected; either channel can also be used alone.

    Both Email and In-app selected; either channel can also be used alone.

  10. 7

    Choose the channels

    Select the channels you want, then select Continue. If you need email only, leave In-app off; if you need portal-only messaging, leave Email off.

    Email-only is a valid channel branch.

    Email-only is a valid channel branch.

  11. In-app-only automations

    An in-app-only automation skips email setup entirely and asks only for the portal notification content later in the wizard. Use it when the message is meant for signed-in customers and should not consume email allowance.

    In-app-only is also a valid branch.

    In-app-only is also a valid branch.

  12. 8

    Use all eligible contacts

    On Select Audience, keep All eligible contacts when the trigger itself should decide who qualifies. The preview explains that CleanOps calculates recipients dynamically when each trigger fires.

    All eligible contacts uses the trigger to decide recipients at send time.

    All eligible contacts uses the trigger to decide recipients at send time.

  13. 9

    Or filter by segment

    Choose Filter by segment to restrict the automation to contacts who are also in a saved segment. Pick the segment, review its summary, and select Continue.

    A saved segment narrows the trigger-qualified audience.

    A saved segment narrows the trigger-qualified audience.

  14. 10

    Set up the content

    On Setup Content, set up the message for each channel you selected. If you selected email, choose an email template or keep the seeded template, then edit the Subject, Header, Body Text, and Button Text. If you selected in-app, fill in the notification Title and Body.

    The content step with email and in-app sections.

    The content step with email and in-app sections.

  15. 11

    Choose a different template

    Select Select Template to open the template picker. Filter by category, choose a template, and select Save Changes to load it into the automation’s email content.

    The template picker with categories and available templates.

    The template picker with categories and available templates.

  16. 12

    Customize both channels

    Edit the email sections and the in-app title/body so they match the automation. The preview should reflect the saved automation copy, not only the raw template text.

    Customized email and in-app content saved on the automation.

    Customized email and in-app content saved on the automation.

  17. 13

    Review the email preview

    On Review, give the campaign a clear Campaign Name, then open the Email preview and confirm the subject, header, body, and button text are the versions you edited. Use the edit icons beside the summary rows if you need to jump back to a step.

    The Review page email preview with the edited automation copy.

    The Review page email preview with the edited automation copy.

  18. 14

    Review the in-app preview

    Switch to the In-app preview to confirm the portal notification title and body. The summary also shows Campaign Type, Trigger, Audience, Channel, and Schedule.

    The Review page in-app preview.

    The Review page in-app preview.

  19. 15

    Publish the automation

    Select Publish Campaign. An automation does not send to everyone immediately just because you published it; publishing makes it Active so future matching trigger events can create runs.

    The published automation opens as Active with zero sends and zero runs.

    The published automation opens as Active with zero sends and zero runs.

  20. Active automation actions

    On an active automation, select Actions to manage it. The menu offers Edit, Pause, Duplicate, Disable, and Archive. Use Pause when you may resume later; use Duplicate to make a copy you can adjust.

    Actions available while the automation is Active.

    Actions available while the automation is Active.

  21. 16

    Pause an automation

    Select Actions -> Pause, then confirm Pause. The automation moves to Paused and stops creating new sends until you resume it.

    The pause confirmation explains the automation will stop running.

    The pause confirmation explains the automation will stop running.

  22. Paused state

    A paused automation keeps its overview, metrics, and content. Its Actions menu changes to Edit, Resume, Duplicate, Disable, and Archive.

    Paused automation detail with metrics preserved.

    Paused automation detail with metrics preserved.

  23. Runs tab

    Open the Runs tab to inspect individual automation runs after triggers fire. A brand-new automation shows an empty state because no trigger has created a run yet.

    The Runs tab before any trigger events have fired.

    The Runs tab before any trigger events have fired.

  24. Find paused automations

    Back on the list, the Paused tab shows automations you stopped without archiving. The list keeps the trigger, created date, status, and performance columns so you can compare it with active and draft work.

    The Paused tab with the demo automation listed.

    The Paused tab with the demo automation listed.

  25. Paused actions

    From a paused automation, Resume reactivates future trigger handling, Disable ends the automation without deleting history, and Archive hides it from active work lists while preserving historical runs.

    The paused Actions menu adds Resume and keeps Archive available.

    The paused Actions menu adds Resume and keeps Archive available.

  26. 17

    Archive an automation

    Select Actions -> Archive, then confirm Archive. Archived automations are hidden from active lists, but historical runs remain visible.

    The archive confirmation before hiding the automation.

    The archive confirmation before hiding the automation.

  27. Review archived automations

    Use the Archived tab to find archived automations later. The row keeps the automation name, trigger, created date, status, recipients, open rate, and click rate.

    The Archived tab with the automation listed as Archived.

    The Archived tab with the automation listed as Archived.

  28. Your automation is ready

    Your automation is active once published and waits for future matching trigger events. From the detail page you can review results, inspect runs, pause or resume it, duplicate it for another message, disable it, or archive it when it is no longer in use.

  29. Tips & related

    • Publish Campaign turns on future trigger handling; it is not a one-time blast.
    • Use a saved segment when a trigger is broad but the message should only reach a specific audience.
    • Pair Email with In-app when you need the widest reach; in-app alone only reaches customers with portal access.
    • Related: send a one-time campaign, create a segment, buy an email booster.

Need more help? If you can't find what you're looking for in our documentation, create a support ticket and our team will assist you.