globe-pointerRegistration Webhook

A secure webhook that triggers when a funnel visitor provides their email and clicks the Registration button, delivering form answers to your system in real-time.

Overview

The Registration Webhook is triggered immediately when a visitor completes the registration step in your funnel — providing their email address and clicking the "Registration" button. This webhook delivers the visitor's email along with all their quiz/form answers, enabling you to:

  • Capture leads in real-time — Send data to your CRM, email marketing platform, or database instantly

  • Personalize follow-up flows — Use quiz answers to trigger customized email sequences or experiences

  • Sync with external systems — Update customer profiles, assign tags, or route leads based on their responses

circle-info

Registration happens before payment. This webhook fires when the visitor submits their email, not when they complete a purchase. Use it for lead capture and pre-qualification.

Configuration

To enable the Registration Webhook, configure it in your Zellify dashboard:

  1. Click on button with label Configure

  2. Enter your Registration Webhook URL (the endpoint that will receive the payload)

  3. Save Configuration and make sure to securely save webhook secret.

How It Works

  1. Visitor completes registration — They provide their email and click the "Registration" button in your funnel

  2. Zellify sends webhook — A POST request is immediately sent to your configured endpoint

  3. Your system processes data — Verify the signature, then store the lead, trigger automations, or sync to other platforms

  4. Visitor continues funnel — The funnel proceeds to the next step (typically payment or confirmation)

Payload Structure

Field
Type
Description

email

string

Email address the visitor submitted

answers

object

Map of question ID → answer value, collected from the funnel

context

object

Session metadata: user identity, funnel, campaign, and request details

Example

context fields

Field
Type
Description

appUserId

string

Zellify-generated user ID used to track funnel activity. Passed to Stripe/Paddle metadata as app_user_id

funnelId

string

ID of the funnel where registration took place

campaignId

string

ID of the campaign link the visitor used to reach the funnel

experimentId

string

ID of the A/B testing experiment the campaign targets. Only present when A/B testing is active

organizationId

string

ID of the organization that owns this funnel and webhook configuration

pageLocation

string

Path of the page where the registration event occurred

ip

string

IPv4 or IPv6 address of the visitor

userAgent

string

Visitor's browser user agent string

answers fields

answers is a map of question identifier → response object. Each key is a question ID; each value is an object with a single value property holding the user's answer.

The type of value depends on the question type — it can be a string, number, or string[]. See Understanding Answers below for how to interpret these values.

circle-exclamation

Understanding Answers

Variables Schema

To interpret answers correctly, export the Variables Schema from your funnel. It provides the metadata needed to map raw answer values to human-readable meaning.

How to export:

  1. Click Edit Funnel on the desired funnel

  2. Open the Variables tab from the right sidebar

  3. Click the Copy Variables Schema button:

Example schema:

Each entry in the schema defines:

  • questionType — how the value should be interpreted

  • questionText — what was shown to the user

  • pageSlug — where in the funnel it was asked

  • options — how to resolve option IDs to human-readable labels (for singleselect, multiselect, slider)

In other words:

  • answers = raw user input

  • Variables Schema = metadata needed to interpret that input

Question Types

Type
Raw Type
Notes

email

string

Validated as email; serialized as a plain string

text

string

Free-form user input (text field, textarea, etc.)

number

number

May be integer or float

singleselect

string

Value is an option id; resolve label via options[]

multiselect

string[]

Array of option ids; resolve labels via options[]

slider

string

Same data model as singleselect; UI differs, data does not

range

string

Format: "from-to" — hyphen-separated numeric values (e.g. "18-35")

Security & Verification

HTTP Request Details

  • Method: POST

  • Content-Type: application/json

  • Headers:

    • X-Webhook-Signature: HMAC-SHA256 signature of the request body

Signature Verification

Every request is signed using your Registration Webhook Secret. The signature is computed as:

triangle-exclamation

Last updated