Skip to main content
Jobs are the intervention layer of Trig. They orchestrate outreach to customers who meet specific criteria, with the goal of driving them toward a desired behaviour.

What are jobs?

Unlike stages (which observe) and behaviours (which track milestones), jobs actively intervene—sending messages, notifying teams, and measuring whether the intervention worked.
Key principle: Jobs are goal-oriented and time-bounded. You define who to target, what you want them to do, how you’ll encourage them, and how long you’ll wait.
Think of jobs as targeted nudges. You’ve identified customers who should do something but haven’t. The job reaches out, encourages the action, and measures results.

Why jobs matter

Closing the gap between insight and action

Stages and behaviours tell you what’s happening. Jobs let you do something about it. The insight that “47 customers haven’t completed onboarding objective 3” becomes actionable when you can immediately target those 47 with a relevant message.

Timely, contextual intervention

The closer an intervention arrives to the moment of need, the more effective it is:
TimingEffectiveness
Within minutesExceptional—customer is still in context
Within hoursVery good—customer remembers the session
Within 24 hoursGood—still relatively fresh
48+ hoursDeclining—customer has moved on

Measurable impact

Every job tracks:
  • How many entered
  • How many completed (achieved the goal)
  • How many exited (didn’t achieve the goal)
  • How long it took
  • What actions were taken
This creates clear attribution for intervention effectiveness.

How jobs work

The job lifecycle

Audience Match → Entry → Intervention → Outcome

                    ┌─────┴─────┐
                    ↓           ↓
               Completion     Exit
              (goal achieved) (goal not achieved)
  1. Audience Match: Customer meets targeting criteria
  2. Entry: Customer enters, entry actions fire
  3. Intervention: Messages sent, follow-ups occur
  4. Outcome: Goal achieved (completion) or time expires (exit)

Completion vs exit

Completion: The customer achieved the goal. This is the positive outcome. Exit: The customer did not achieve the goal within the time allowed. This is the negative outcome (but valuable data). Both create permanent metadata:
last_completed_[job]  — Timestamp if completed
last_exited_[job]     — Timestamp if exited without completing
last_entered_[job]    — When they entered

Time-bounded by design

Jobs should have an auto-exit duration. Without one, customers who never achieve the goal remain indefinitely—breaking your ability to analyse and iterate.
Duration guidelines:
  • Simple actions (click a link): 3 to 7 days
  • Moderate actions (complete setup step): 7 to 14 days
  • Complex actions (invite team, integrate system): 14 to 30 days

Configuring jobs

Anatomy of a job

ComponentDescriptionExample
GoalWhat you want customers to doinvoices_created >= 1
AudienceWho should receive thisNew users, signed up 1 to 7 days ago
DurationHow long before auto-exit14 days
Entry ActionsWhat happens when they enterSend initial email
InterventionFollow-up messages/actionsFollow-up email after 3 days
Completion ActionsWhat happens on successNotify team, update CRM
Exit ActionsWhat happens on failureFlag for follow-up job

Defining the goal

The goal is the completion criteria—what must be true for success. Attribute-based:
invoices_created >= 1
team_members >= 2
integration_connected = true
Event-based:
first_project_created occurred
payment_submitted occurred
Behaviour-based:
last_completed_[behaviour] has any value
Keep goals focused on a single, clear action. Multiple actions = separate jobs.

Defining the audience

Basic criteria:
Audience:
- sign_up_date > 1 day ago
- sign_up_date < 7 days ago
- invoices_created = 0
Using cohorts:
Audience: Members of cohort "New Self-Serve Users"
Using history:
Audience:
- last_completed_Onboarding_Stage has any value
- last_completed_First_Invoice_Job has no value
Important considerations:
  • Relative vs absolute dates: Relative dates mean audience constantly refreshes
  • Exclusions: Use last_entered_[job] has any value to exclude customers who’ve already been through

Job actions

See Actions for detailed action configuration.

Entry actions

Fire when a customer enters:
  • Send email: Plain text message to the customer
  • Notify team: Slack message to a channel
  • Update attribute: Set value on customer record
  • Fire webhook: Call external endpoint

Follow-up actions

After entry, schedule follow-up:
Wait 3 days → Send follow-up email
Wait 7 days → Send second follow-up
Most jobs use 1 to 2 follow-ups. More often indicates the job is too broad.

Completion actions

When goal is achieved:
  • Celebratory message
  • Notify team
  • Update CRM
  • Route to next job

Exit actions

When customer exits without completing:
  • Notification to team
  • Update attribute to mark failure
  • Route to alternate job

Email best practices

Plain text over branded

Trig strongly recommends plain text emails. They look personal, get 10x higher engagement, and feel human even when automated.
Plain text advantages:
  • Looks like it came from a real person
  • Higher open rates
  • Higher response rates
  • Avoids spam filters

Contextual and specific

Good:
Hi Sarah,

I noticed you've logged into FreshBooks but haven't sent your
first invoice yet. Here are three steps to get started—takes
about 5 minutes:

1. Click Invoices in the left menu
2. Click "Create New Invoice"
3. Fill in your client details and hit Send

If you run into any issues, just reply to this email.

Thanks,
Lee
Bad:
Welcome to FreshBooks! We're so excited to have you on board.
FreshBooks is the #1 invoicing solution for small businesses...
The good example is contextual, specific, actionable, and personal.

Short and actionable

  • Lead with the action you want them to take
  • Provide 1 to 3 clear steps
  • Include relevant links
  • Offer help if needed
  • Sign off personally

Chaining jobs

One of Trig’s powerful capabilities is chaining jobs based on outcomes.

Success path

Job 2 Audience:
- last_completed_Job_1 has any value
- [next action criteria]

Failure path

Job 1B Audience:
- last_exited_Job_1 has any value
- last_completed_Job_1 has no value

Progressive context

Customer: Acme Corp

Job History:
├── Completed: Welcome Job (Day 2)
├── Completed: First Invoice Job (Day 4)
├── Exited: Gateway Connection Job (Day 12)
└── Currently in: Gateway Connection Retry Job
This history enables highly targeted messaging.

Targeting: organisations vs people

Organisation-level jobs

Target the account:
  • Intervention goes to contacts associated with the organisation
  • Useful for account-based actions
  • Multiple people may receive messages

Individual-level jobs

Target specific people:
  • Intervention goes to that individual
  • Useful for user-specific actions
  • More granular targeting
Choose based on what action you’re driving. “Invite team members” targets individuals. “Renew contract” targets organisations.

Measuring effectiveness

Key metrics

MetricFormula
Completion rateCompleted / (Completed + Exited)
Time to completionHow long did successful customers take?
Exit rateWhat percentage failed to complete?
Baseline comparisonAre recipients completing at higher rates?

Iteration

Use job data to improve:
  • Low completion rate → Adjust messaging, timing, or goal
  • Long time to completion → Intervention may be too early
  • High exit at specific point → Focus messaging there
  • Certain segments complete more → Target them specifically

Common job patterns

Onboarding nudge

Goal: first_project_created >= 1
Audience:
- sign_up_date > 1 day ago
- sign_up_date < 7 days ago
- first_project_created = 0
Duration: 10 days
Entry: Plain text email with steps
Follow-up: Day 3, Day 7
Exit: Route to "Onboarding Stalled" job

Feature adoption

Goal: feature_X_used >= 1
Audience:
- plan = Premium
- feature_X_used = 0
- days_since_signup >= 30
Duration: 14 days
Entry: Email highlighting feature value
Completion: Silent success
Exit: Flag for CSM follow-up

Churn prevention

Goal: engagement_restored = true
Audience:
- renewal_date within 90 days
- last_login > 30 days ago
Duration: 30 days
Entry: Personal outreach from CSM
Exit: Escalate to sales

Common questions

Keep jobs short and focused. 7 to 14 days for most use cases. If no response in 14 days, try a different approach in a new job.
Yes, but be careful about message volume. Use exclusion criteria to prevent overlap.
No new customers enter. Existing customers can still complete or exit normally.
Use last_entered_[job] has any value in exclusion criteria.
Either works. Trig sends directly for speed and simplicity. For complex requirements, trigger external systems via webhooks.

Summary

Jobs are Trig’s intervention engine:
  1. Goal-oriented — Every job has clear completion criteria
  2. Time-bounded — Set auto-exit to keep jobs focused
  3. Plain text, personal — Messages should feel human
  4. Timely — Intervene as close to the trigger as possible
  5. Measurable — Track completion rate and iterate
  6. Chainable — Use outcomes to route customers through progressive journeys
Well-designed jobs create a virtuous cycle: insight informs targeting, jobs drive action, outcomes create more insight.