How It Works
Form submission
A lead submits your Surface form (partial or completed). Surface sends a
webhook to the appropriate Customer.io URL based on the trigger.
Person & event
Two webhook-triggered campaigns in Customer.io (one for partial, one for
completed) create or update the person and add the appropriate event.
Email sequence
An event-triggered campaign starts a customizable follow-up email sequence
with delays between each email.
Prerequisites
Before you begin, make sure you have:- A Surface account with a form that supports partial submissions (e.g., multi-step form with email capture)
- A Customer.io account with Campaigns and Journeys access
- A Calendly account with API access (Personal Access Token or OAuth)
- Your Calendly event type URI for the meeting type you want to check
Setup Steps
Step 1: Webhook Trigger Campaigns
Create two webhook-triggered campaigns in Customer.io—one for partial and one for completed—each with its own URL
Step 2: Configure Surface Workflow
Set up the Surface Workflow Builder to send form data to the correct
Customer.io webhook URL based on trigger path (Dropped Off or Form Submission)
Step 3: Event-Based Email Campaigns
Create two event-triggered campaigns—one for partial submissions and one for
completed—with your follow-up emails and delays
Step 4: Calendly Meeting Check
Add a webhook node before each follow-up (after the first) to check if the lead booked a meeting and exit the campaign if so
