> ## Documentation Index
> Fetch the complete documentation index at: https://docs.z360.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting Guides

> Solutions for common issues with Z360 integrations — API, Zapier, WordPress plugins, Bit Integrations, and custom code.

<AccordionGroup>
  <Accordion title="API requests return a 401 Unauthorized error">
    The Bearer token is either missing, incorrect, or formatted incorrectly. Go to **Z360 → Pipelines** → select pipeline → three dots → **Generate Link** → API / Webhook tab, and copy the token again. Make sure the Authorization header reads exactly `Bearer z360_your-token-here` with a single space after "Bearer" and no trailing spaces or line breaks. This applies to API requests, WordPress plugin webhooks, Code Snippets, and Bit Integrations.
  </Accordion>

  <Accordion title="Form submits successfully but no lead appears in Z360">
    For **Pipelines**: the most common cause is a disabled communication channel. When disabled, the API endpoint returns a redirect (HTTP 302) to the Z360 homepage. The form or middleware treats this as a success, so no error is shown — but no lead is created. Go to your pipeline settings and enable the communication channel. For **Forms**: verify the Webhook URL matches exactly what Z360 shows in Generate Form Links.
  </Accordion>

  <Accordion title="Getting a 422 Unprocessable Content error">
    A required field is missing or a field name does not match what Z360 expects. For Forms (webhook), field names must be snake\_case: `first_name`, `last_name`, `email`, `phone`. For Pipelines (API), field names must be Title Case with spaces: `First Name`, `Last Name`, `Email`, `Phone Number`. Also check that the phone number is real and includes a country code (e.g., `+15551234567`).
  </Accordion>

  <Accordion title="Phone numbers are being rejected">
    Z360 requires phone numbers in E.164 format with a country code — for example, `+15555555555`. If your form or source app sends numbers in formats like `(555) 555-5555` or `555-555-5555`, you need to reformat them before they reach Z360. For Zapier, add a **Formatter** step to prepend `+1` and strip special characters. For WordPress, consider adding phone format validation to your form fields.
  </Accordion>

  <Accordion title="WordPress form shows 'There was an error trying to send your message'">
    For Contact Form 7 specifically, the most common cause is an incorrect header format. The CF7 to Webhook plugin expects plain `Key: Value` format — not curl-style syntax like `-H \"Content-Type: application/json\"`. Each header should be on its own line. Also check that the endpoint URL is correct and the Z360 form or pipeline exists.
  </Accordion>

  <Accordion title="Integration was working but suddenly stopped">
    Check three things: (1) the pipeline's communication channel is still enabled — if someone removes or changes it, integrations will fail silently, (2) the API key has not been revoked — if you or a team member revoked and regenerated the key, update it everywhere, (3) the form or pipeline still exists in Z360 — deleted forms or pipelines will cause endpoint failures.
  </Accordion>

  <Accordion title="Zapier test succeeds but no lead appears in Z360">
    For the **Create Inquiry** action, confirm the pipeline's communication channel is enabled. For the **Add Form Entry** action, verify the Webhook URL is correct. Also check that all required fields (First Name, Last Name, Email, Phone Number) are mapped and contain values from the trigger — empty mappings will cause silent failures.
  </Accordion>

  <Accordion title="Zapier test passes but live Zap does not create leads">
    Confirm the Zap is published and turned on in your Zapier dashboard. Then check that the trigger app is still sending data in the same format as the test sample — if your trigger app updated or changed its field structure, the mapped fields may no longer match. Re-test the trigger step to pull a fresh sample, then re-map the fields if needed.
  </Accordion>

  <Accordion title="Code Snippet is activated but no lead is created">
    Check four things: (1) the form ID in the snippet matches your actual form ID, (2) the field IDs or field names in the snippet match your form's fields exactly, (3) the endpoint URL is correct, and (4) the Bearer token is correct (for Pipelines). Enable WordPress debug logging by adding `define('WP_DEBUG', true);` and `define('WP_DEBUG_LOG', true);` to `wp-config.php`, then check `wp-content/debug.log` after a test submission.
  </Accordion>

  <Accordion title="WordPress site shows an error after activating a Code Snippet">
    The Code Snippets plugin automatically deactivates broken snippets. Go to your WordPress admin and fix the error in the snippet. If you cannot access the admin, rename the `code-snippets` plugin folder via FTP at `/wp-content/plugins/code-snippets` to disable all snippets. Your site will recover immediately.
  </Accordion>

  <Accordion title="Bit Integrations Test Webhook fails">
    Check that the endpoint URL is correct and the Z360 form or pipeline exists. For Pipelines, verify the Authorization header contains the correct Bearer token and the communication channel is enabled. Open the integration's **Timeline** in Bit Integrations to see the full error response including the HTTP status code.
  </Accordion>

  <Accordion title="Getting an 'unknown field' or 'Empty payload' error">
    For **unknown field**: the integration is sending a field name that does not exist in the Z360 form. Check the exact field names in Z360 and update your integration to match. For **Empty payload**: the JSON body is not being sent correctly — verify the body has valid JSON with proper double quotes around all keys and string values. Always copy field names directly from Z360.
  </Accordion>

  <Accordion title="JetFormBuilder webhook does not create leads in Z360">
    JetFormBuilder's Call Webhook action sends data using the form's field names as JSON keys. Make sure each field's **Field Name** is set to exactly `first_name`, `last_name`, `email`, and `phone` in the JetFormBuilder editor. Any mismatch will cause Z360 to reject or ignore the field. JetFormBuilder does not support Pipelines natively — use [Bit Integrations](/connect-z360-with-bit-integrations) or [Custom Code](/connect-z360-with-wordpress-custom-code) for Pipeline connections.
  </Accordion>
</AccordionGroup>

📖 **Related articles:**

* [Integrations Overview](/Integrations-overview)
* [Connect Z360 with WordPress Plugins](/connect-z360-with-wordpress-plugins)
* [Connect Z360 with WordPress using Custom Code](/connect-z360-with-wordpress-custom-code)
* [Connect Z360 with Bit Integrations](/connect-z360-with-bit-integrations)
* [Connect Z360 with Third-Party Forms via Zapier](/connect-z360-with-third-party-forms-via-zapier)
* [Frequently Asked Questions](/frequently-asked-questions)
