Z360 Endpoints
Z360 provides two types of endpoints. Both accept flat JSON — no wrapper object needed. Forms (Webhook URL — no auth required):- URL format:
https://app.z360.biz/webhooks/forms/z360_{uuid} - Header:
Content-Type: application/json - Field names are snake_case:
first_name,last_name,email,phone - Contacts are automatically tagged with “Inbound — Form”
- Found in: Z360 → Forms → select form → Generate Form Links → Webhook section
- URL format:
https://app.z360.biz/forms/{id}/api - Headers:
Content-Type: application/jsonandAuthorization: Bearer {your_token} - Field names are Title Case with spaces:
First Name,Last Name,Email,Phone Number - Found in: Z360 → Pipelines → select pipeline → three dots → Generate Link → API / Webhook tab
Field Name Reference
Setup by Form Builder
Read the Using Code Snippets Safely section before adding any snippets.Contact Form 7 (native — no code needed)
Contact Form 7 (native — no code needed)
first-name, last-name, email, phone).Connecting to Z360 Forms
Webhook tab configuration:- Check “Send to Webhook”.
- Webhook URL: Paste your Z360 Webhook URL.
- Method: POST
- Headers:
- Body:
Connecting to Z360 Pipelines
- Webhook URL: Paste your Z360 API Endpoint URL.
- Method: POST
- Headers (one per line):
- Body:
WPForms
WPForms
Authorization headers required for Pipelines. The snippet below works with any version of WPForms, including WPForms Lite (free).Step 1: Install and activate the Code Snippets plugin (free).Step 2: Go to Snippets → Add New, name it, and paste the snippet for your use case.Connecting to Z360 Forms
Connecting to Z360 Pipelines
Fluent Forms
Fluent Forms
Connecting to Z360 Forms
Connecting to Z360 Pipelines
names.first_name and names.last_name. If you used separate text inputs, use the field names from each field’s settings (e.g., $form_data['first_name']). Your form ID is visible in Fluent Forms → All Forms.Step 3: Set the snippet to “Run snippet everywhere”, then click Save Changes and Activate.Do not add a Webhook feed in Fluent Forms’ settings for this form — the snippet handles everything.Ninja Forms
Ninja Forms
Connecting to Z360 Forms
Connecting to Z360 Pipelines
first_name, email, etc.) must match the Key value set in each field’s Administration section in the Ninja Forms editor.Step 3: Set the snippet to “Run snippet everywhere”, then click Save Changes and Activate.Do not add a Webhooks action in Ninja Forms for this form — the snippet handles everything.Formidable Forms
Formidable Forms
Connecting to Z360 Forms
Connecting to Z360 Pipelines
Forminator
Forminator
text-1 and email-1 that Z360 cannot map. The snippet below works with any version of Forminator.Step 1: Install and activate the Code Snippets plugin (free).Step 2: Go to Snippets → Add New, name it, and paste the snippet for your use case.Connecting to Z360 Forms
Connecting to Z360 Pipelines
name-1, email-1, phone-1 with your actual field names. If you used separate text fields instead of a combined Name field, replace the name handling block with simple lookups like $fields['text-1'].Step 3: Set the snippet to “Run snippet everywhere”, then click Save Changes and Activate.Do not also configure a webhook in Forminator’s Integrations tab for this form — the snippet handles everything.Using Code Snippets Safely
The Code Snippets plugin is the safest way to add custom PHP to WordPress without editing theme files directly. Why Code Snippets instead of functions.php:- If a snippet has a PHP error, only that snippet is deactivated — your site keeps running. A broken
functions.phpcan take your entire site down with a white screen. - Snippets survive theme updates and theme switches.
- Each snippet can be turned on and off independently.
- Code Snippets automatically deactivates broken snippets and shows you the error in the admin dashboard.
- If you cannot access the WordPress admin, rename the plugin folder via FTP/SFTP at
/wp-content/plugins/code-snippetsto something likecode-snippets-disabled. This deactivates the plugin and all its snippets instantly. Your site will recover.
Tips
- Test with a real phone number with country code. Z360 validates phone numbers and rejects fake or test numbers.
- Each pipeline has its own API endpoint. When connecting multiple pipelines, use the correct endpoint and token for each.
- The webhook URL token and Bearer token may be the same value — but always copy each from its respective section in Z360.
- If you are unsure about your form’s field IDs, submit a test entry and check the entry details in your form builder’s submissions page.
Frequently Asked Questions
What's the difference between the Forms and Pipelines endpoints?
What's the difference between the Forms and Pipelines endpoints?
/webhooks/forms/...) creates leads in a standalone Z360 Form. It uses snake_case field names and no authentication. The Pipelines API endpoint (/forms/{id}/api) creates leads in a specific pipeline stage. It uses Title Case field names with spaces and requires a Bearer token.Why does CF7 work natively but other builders need code?
Why does CF7 work natively but other builders need code?
Is the Code Snippets plugin safe?
Is the Code Snippets plugin safe?
functions.php directly.Can I connect to both a Form and a Pipeline from the same WordPress form?
Can I connect to both a Form and a Pipeline from the same WordPress form?
Can I connect multiple WordPress forms to different Z360 pipelines?
Can I connect multiple WordPress forms to different Z360 pipelines?
if/elseif block checking the form ID.Will the Code Snippets plugin slow down my site?
Will the Code Snippets plugin slow down my site?
Troubleshooting
Form submits without error but no lead appears in Z360
Form submits without error but no lead appears in Z360
Getting a 422 Unprocessable Content error
Getting a 422 Unprocessable Content error
first_name, last_name, email, phone. For Pipelines, use Title Case: First Name, Last Name, Email, Phone Number. Phone numbers must be real and include a country code.Code snippet is activated but no lead is created
Code snippet is activated but no lead is created
define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); to wp-config.php, then check wp-content/debug.log after a test submission.Site shows an error after activating a Code Snippet
Site shows an error after activating a Code Snippet
code-snippets plugin folder via FTP at /wp-content/plugins/code-snippets to disable all snippets. Your site will recover immediately.