Skip to content

Welcome a first-time visitor ​

This recipe takes a real-world Sunday-morning scenario: someone new walks in, fills out a visitor form, and you want them to feel welcomed before they leave the parking lot. Everything happens automatically once you've set it up the first time.

What you'll achieve ​

A first-time visitor's data is captured at the door, their record is created, a workflow fires, and they receive a personalized WhatsApp message within minutes — without any staff member doing anything in the moment.

Prerequisites ​

Step 1 — Configure the visitor form ​

The visitor form is the public-facing page where new arrivals enter their details.

  1. Go to Settings → Visitor form.
  2. Fill in:
    • Header text — e.g. Welcome to Grace Church! Help us get to know you.
    • Required fields — first name + last name + phone are the minimum. Don't ask more than 4 questions or completion rates plummet.
    • Optional fields — email, how-did-you-hear-about-us, prayer-request.
    • Success message — what visitors see after submitting.
  3. Save.

The form is now live at /welcome on your public site (e.g. grace.geniuschurchmanager.com/welcome).

Step 2 — Put the form in front of visitors ​

Three ways:

MethodSetup
QR code on a sign at the doorGenerate a QR pointing at /welcome, print it on a 4×6 card
Tablet kiosk by the welcome deskOpen the form in a browser on a tablet, leave it open
Built into check-inThe check-in kiosk has an I'm new here button that opens the visitor form

The QR-code approach is the cheapest and works best for casual self-service.

Step 3 — Build the welcome workflow ​

This is the heart of the recipe. The workflow fires every time the visitor form is submitted.

  1. Go to Workflows → create a new workflow.

  2. Name it First-time visitor welcome.

  3. Add a trigger: form.submitted where form = Visitor form.

  4. Add an action: wait_delay 10 minutes (give them time to find a seat).

  5. Add an action: send_message:

    • Channel: WhatsApp.

    • Recipient: the visitor (auto-populated from the trigger).

    • Body:

      Hi {{trigger.member.first_names}}! Welcome to Grace Church. We're so glad you joined us today.
      
      If you have any questions, just reply to this message — we read every one.
      
      Pastor Mary 🙏
  6. Save and toggle the workflow to Active.

Step 4 — Test it ​

Before Sunday, test the whole flow:

  1. Open the visitor form on your phone.
  2. Fill in your name + your own WhatsApp number.
  3. Submit.
  4. Wait 10 minutes.
  5. Check your WhatsApp.

The message should arrive. If it doesn't, check Workflows → Runs for the test run and inspect the error.

What happens behind the scenes ​

When a visitor submits the form:

  1. The form.submitted event fires.
  2. GCM creates a member record with membership type Visitor.
  3. The workflow trigger matches and enqueues a run.
  4. The wait_delay action holds the run for 10 minutes.
  5. The send_message action fires, calling your WhatsApp provider.
  6. The provider delivers the message; the delivery status updates as it flows.

All of this is logged in Workflows → Runs for inspection.

What's next ​

This is just the first touchpoint. To set up an ongoing 30-day follow-up sequence, continue to Newcomer follow-up workflow.

To track which visitors come back the following Sundays, use the attendance trend by member type — visitors who become regular attendees are exactly what you want to count.

Permissions ​

Setting up this recipe requires admin access. Once set up, the workflow runs without any human in the loop — the visitor submits, the message goes out, no one has to be at their desk.

Common questions ​

What if the visitor didn't give us a phone number? The workflow's send-message action gracefully skips when the recipient has no usable channel — the run completes with a "skipped" status for that step. Consider adding email as a fallback channel.

Will this fire for someone already in our system who fills out the form? By default, yes — the trigger doesn't dedupe. Add a condition step early in the workflow to check "is this their first submission?" if you want to avoid spamming returning visitors.

Can I personalize by the time of day? Yes. Add a condition step using the is_during_business_hours operator to send a different message on Sunday vs Wednesday.

Next steps ​