Workflows & Automations

Automate your follow-up, communication, and internal processes — so the right thing happens for every person, every time, without manual effort.

What Are Workflows?

A Workflow is a sequence of automated actions triggered by a specific event — a new visitor form submission, a giving transaction, a contact entering a certain stage, or a date you choose. Once active, workflows run automatically in the background whenever their trigger fires.

Think of a workflow as your ministry's invisible assistant: it sends the welcome email while you're preaching, assigns a follow-up task to your pastor while you're in Bible study, and tags a donor while you're sleeping.

What workflows can do

  • Send emails — templated, personalized, and timed to the right moment
  • Add or remove tags — categorize contacts automatically based on their actions
  • Create tasks — assign a follow-up call or visit to a specific team member
  • Move contacts through stages — advance from New Visitor to Member when criteria are met
  • Notify your team — email a pastor or volunteer coordinator when something important happens
  • Wait — pause for a set number of days before the next step
  • Branch on conditions — check a field or tag and take different paths for different people
  • Call a webhook — push contact data to an external tool (Zapier, Make, custom apps)
💡 Most impactful workflow: A 3-step welcome sequence — immediate welcome email on form submit, 3-day follow-up asking if they have questions, 7-day pastoral check-in task assigned to your lead pastor. This alone can double visitor retention.

Building Your First Workflow

Workflows are built in the Workflows panel under the Automation section in your admin sidebar.

Step 1: Create the workflow

  1. Go to Workflows in your sidebar.
  2. Click + New Workflow.
  3. Enter a name (e.g., "New Visitor Welcome Sequence").
  4. Click Create.

Step 2: Set the trigger

  1. Click Set Trigger on the workflow card.
  2. Choose a trigger type (see Triggers below).
  3. Configure any trigger options (e.g., which form, which tag).
  4. Click Save Trigger.

Step 3: Add steps

  1. Click + Add Step.
  2. Choose a step type from the dropdown (send_email, wait, add_tag, etc.).
  3. Configure the step — each type has its own fields.
  4. Click Save Step.
  5. Repeat until your sequence is complete.

Step 4: Activate

  1. Review the full step list — steps run in order from top to bottom.
  2. Toggle the workflow to Active.
  3. From this point on, every new trigger event will enqueue a run for that contact.
⚠️ Activating an existing workflow: Contacts who triggered the workflow before it was activated are not retroactively enrolled. Only new trigger events after activation will start a run.

Triggers: What Starts a Workflow

A trigger is the event that enrolls a contact into a workflow. Each workflow has exactly one trigger.

form_submit

Fires when someone submits a connection form on your site. This is the most common trigger — it catches first-time visitors the moment they raise their hand.

  • Configuration: No additional options — all form submissions trigger it.
  • Best for: Welcome sequences, new visitor follow-up.

tag_added

Fires when a specific tag is added to a contact — either manually or by another workflow step.

  • Configuration: Enter the exact tag name to watch for (e.g., interested-in-baptism).
  • Best for: Targeted nurture sequences based on expressed interest.

stage_changed

Fires when a contact's stage changes to a specific value.

  • Configuration: Choose the target stage (New Visitor, Member, Volunteer).
  • Best for: Onboarding new members, welcoming new volunteers.

giving_received

Fires when a completed donation is recorded for a contact.

  • Configuration: No additional options — fires on any giving transaction.
  • Best for: Donor thank-you sequences, first-time giver follow-up.

manual

Does not fire automatically. You enroll contacts manually from the contact record or the People list.

  • Configuration: None.
  • Best for: Campaigns you run on-demand, special event follow-up, re-engagement sequences.
💡 Combining triggers: You can have multiple workflows with different triggers that each run their own sequence. For example: form_submit triggers a 7-day welcome sequence, then stage_changed to Member triggers a membership onboarding sequence.

Step Types Reference

Each step in a workflow performs one action. Steps run in order unless a condition branches the path.

send_email

Sends an email to the contact using your configured email sender.

  • subject — email subject line. Supports merge tags like [first_name].
  • body — HTML or plain text email body. Supports [first_name], [church_name].
  • from_name — (optional) override the sender name for this step.
💡 Use the recipient's first name in the subject line — personalized subjects have 26% higher open rates on average.

wait

Pauses the workflow for a number of days before continuing to the next step.

  • days — number of days to wait (e.g., 3 for a 3-day delay).

add_tag

Adds a tag to the contact record. Use tags to categorize contacts and trigger other workflows.

  • tag — the tag string to add (e.g., completed-welcome-sequence).

remove_tag

Removes a tag from the contact record.

  • tag — the tag string to remove.

create_task

Creates a task in the Tasks panel, assigned to a specific team member, with a due date.

  • title — task title (e.g., "Call visitor — follow up on first visit").
  • assignee_email — email of the team member to assign the task to.
  • due_days — number of days from now when the task is due.

move_stage

Changes the contact's stage in the visitor pipeline.

  • stage_id — the target stage: new_visitor, member, or volunteer.

notify_team

Sends an internal email notification to your team — not to the contact.

  • to — recipient email address. Defaults to the church's primary email if not specified.
  • subject — notification subject.
  • message — notification body. Contact's name, email, and other details are included automatically.

webhook

POSTs the contact's data to an external URL — for integrations with Zapier, Make, or custom systems.

  • url — the endpoint to POST to.
  • secret — (optional) HMAC secret. If set, a X-GC-Signature header is included with each request so you can verify authenticity on the receiving end.

The request body is a JSON object with the contact's fields (name, email, phone, stage, tags, etc.). Sensitive fields like password hashes are stripped automatically.

condition

Evaluates a field or tag and branches the workflow based on the result. See Conditions & Branching below.

Conditions & Branching

A condition step checks something about the contact and takes different paths based on whether it's true or false. This lets you build intelligent workflows that respond differently to different people.

How conditions work

  1. The condition step evaluates a rule against the contact's current data.
  2. If the rule is true, the workflow continues to the next step in order.
  3. If the rule is false, the workflow either exits (stops) or jumps to a specific step number.

Condition configuration

  • field — which contact field to check. Use tags to check for a tag, or any contact field name like stage, email, phone.
  • operator — how to evaluate:
    • equals / not_equals — exact match
    • contains / not_contains — substring or tag match
    • empty / not_empty — checks if the field has a value
    • greater_than / less_than — numeric comparison
  • value — the value to compare against (not used for empty/not_empty).
  • else_step_id — (optional) the step index to jump to if the condition is false. If not set, the workflow exits when the condition is false.
  • exit_if_false — set to true to explicitly exit the workflow when the condition is false.

Example: Check if contact has a phone number

If the contact has a phone number, send an internal notification to call them. If not, skip to the email step.

  • Step 0: condition — field: phone, operator: not_empty, else_step_id: 2
  • Step 1: notify_team — "New visitor with phone number — please call"
  • Step 2: send_email — follow-up email (both paths reach this)

Example: Skip workflow if contact is already a member

  • Step 0: condition — field: stage, operator: not_equals, value: member, exit_if_false: true
  • Steps 1–4: new visitor sequence — only runs for non-members
⚠️ Step numbering: Steps are numbered starting at 0. When setting else_step_id, count from 0. If you reorder steps, update your condition jump targets accordingly.

Best Practices & Examples

The New Visitor Welcome Sequence (Recommended starter)

Trigger: form_submit

  1. send_email — "Welcome to [Church Name]!" — warm personal welcome, service times, parking info, what to expect.
  2. wait — 3 days
  3. send_email — "Any questions?" — casual check-in, offer a tour or coffee chat.
  4. wait — 4 days
  5. create_task — "Personal follow-up call with new visitor" — assigned to lead pastor, due in 2 days.
  6. add_tagwelcome-sequence-complete

The First-Time Donor Thank You

Trigger: giving_received

  1. condition — field: tags, operator: not_contains, value: donor, exit_if_false: true
  2. send_email — "Thank you for your generosity!" — personal thank you from the pastor.
  3. add_tagdonor
  4. notify_team — "New first-time donor received a gift" — notify church administrator.

The condition check in step 0 ensures this sequence only runs once — the donor tag prevents re-enrollment.

New Member Onboarding

Trigger: stage_changed (target: Member)

  1. send_email — "Welcome to the family!" — membership benefits, next steps, small group info.
  2. wait — 7 days
  3. send_email — "How's your first week?" — simple check-in with small group signup link.
  4. wait — 14 days
  5. create_task — "Invite new member to volunteer orientation" — assigned to volunteer coordinator.

Keep workflows focused

  • One workflow = one purpose. Build 4 focused 5-step workflows rather than one 20-step mega-workflow.
  • Name workflows clearly: "New Visitor Welcome", "First-Time Donor Thank You", "Member Onboarding Q1 2026".
  • Use add_tag at the end of every sequence so you can filter which contacts have been through it.
  • Use condition with exit_if_false at the start to gate sequences and prevent duplicate runs.
💡 Start simple. Deploy the 3-step welcome email first. Measure open rates for 30 days. Then add the task step. Iterate in layers — a simple workflow running consistently beats a complex one you never activate.