Skip to content
Open the app

Send a campaign with AI

A campaign is a one-off send to a list you define — a spring tune-up offer, a win-back for customers you have not seen in a while. It is different from an automation, which fires off an event and keeps running.

Marketing → Campaigns, then describe the campaign in plain English. The assistant builds both the audience and the copy, which is the part that saves the time: defining “customers who have not had a visit in eighteen months” by hand means knowing which field to filter on.

Every campaign has an audience and a message. Here is what the assistant hears in a request:

You write Audience it builds
“Customers who haven’t had a visit in 18 months — offer a tune-up” Source: customers · had no visit before 18 months ago
“Leads from the last 3 months who never booked” Source: leads · created within 3 months
“Anyone we haven’t messaged in a year” Both sources · no contact within 12 months
“All customers, spring AC promotion” Source: customers · no recency filter

The three things it is choosing between:

  • Source — customers (past and current) or leads (still in the pipeline), or both. It uses both unless your request clearly means one.
  • Recency — measured on one of three events: visited (had a job visit), contacted (any message either way), or created. Then either within N months, or before N months ago — which is how “hasn’t been serviced since” gets expressed.
  • Channel — SMS for short offers, email when there is more to explain, both when the request implies both.

It also sets whether a phone number or an email address is required to be on the list, so an SMS campaign does not count people you cannot text.

Win back customers who haven't had a visit in two years. Offer $50 off a
tune-up. Text and email.
Email only: leads we quoted in the last two months who haven't approved.
Remind them the quote expires and offer a call.
Spring AC tune-up promotion to every customer we've visited in the last
three years. Short text with the booking link.
Anyone tagged Roof replacement — storm season is coming, offer a free
inspection.

That last one only works if the tag already exists — see below.

You can segment by tag, but a campaign can only use tags that already exist in your workspace. The assistant is given your tag list and told to use an empty selection when nothing fits, so asking for a segment you have never tagged gets you everybody rather than a new tag.

The draft comes back editable — name, channels, audience, SMS body, email subject and email body — and you change anything before sending. Worth knowing what it aims for:

  • SMS under 300 characters, plain-spoken, no emoji, no markdown, and no links other than your booking link.
  • Email subject under 70 characters, body two to four short paragraphs.
  • Merge tokens only from the real list, so nothing renders as a literal {name} in a customer’s inbox.

Then look at the recipients. The campaign loads the actual list it will send to, which is the moment to notice that “customers we haven’t visited in 18 months” is four hundred people and not forty.

Anyone who has replied STOP is excluded at send time — the campaign checks your opt-out list, not just the audience filter. You do not have to maintain that by hand.

You want Use
To reach a list once, now Campaign
To respond every time something happens Automation
A seasonal offer to past customers Campaign
A follow-up two days after every estimate Automation

If you find yourself sending the same campaign every quarter, it probably wants to be an automation with a tag filter instead.