How to Connect Zapier with Task Session Forms using Webhooks

Task Session includes a powerful Forms / Lead Capture module that can receive leads from external systems via a simple webhook / API endpoint. This guide explains, step by step, how to connect Zapier to your Task Session installation at https://yourdomain.com/ using the built?in Forms webhook endpoint.

Table of Contents

Prerequisites

Before you start, make sure you have:

  • Task Session installed at https://yourdomain.com/
  • Admin access to https://yourdomain.com/admin/
  • Zapier account (free or paid)
  • At least one Zap trigger that has lead/contact fields (name, email, phone, etc.), for example:
    • Webhooks by Zapier (Catch Hook)
    • Typeform
    • Google Forms
    • HubSpot, Pipedrive, Facebook Lead Ads, etc.

Step 1: Understand the Task Session webhook endpoint

1. Base endpoint URL

  • Task Session exposes a single Forms webhook / API endpoint:
  • https://yourdomain.com/includes/forms/api/submit.php

2. Integration key (source key)

  • You always call the endpoint with a query parameter that identifies the integration, for example:
  • https://yourdomain.com/includes/forms/api/submit.php?integration=zapier
  • The value after integration= must match the Source key configured in the Integration settings.

3. Authentication

  • Each integration has its own Auth token.
  • When sending requests from Zapier, you should include this token as a Bearer token header:
  • Authorization: Bearer YOUR_AUTH_TOKEN
  • Alternatively, you can send a token field in the body, but the Authorization header is recommended.

4. Payload format

  • The endpoint accepts:
    • JSON (Content-Type: application/json)
    • or form-urlencoded POST bodies
  • Zapier’s Webhooks by Zapier action can easily send JSON payloads that match your field mappings.

Step 2: Create a Zapier Integration in Task Session

1. Open the Integrations page

  • Log in to your Task Session admin panel at https://yourdomain.com/admin/
  • Go to Form settings > Integrations (https://yourdomain.com/admin/forms_integrations.php)
  • Click Add Integration

2. Fill the Integration details

  • Name: for example Zapier or Zapier Leads
  • Source key: for example zapier or zapier-leads
    This value will be used in the API URL as ?integration=zapier.
  • Auth token: create a secret token, for example zap_9834$XYZ (you will use this in the Zapier headers)
  • Status: set to Active
  • Allowed method: usually POST
  • Notes: optional, for internal description such as “Used by Zapier webhooks”

3. Save the Integration

  • Click Save
  • Write down:
    • The Source key you used (e.g. zapier)
    • The Auth token (e.g. zap_9834$XYZ)

Step 3: Configure Field Mappings

1. Open Field Mappings

  • Go to Form settings > Field Mappings (https://yourdomain.com/admin/forms_mappings.php)
  • Select your Zapier integration (e.g. Zapier Leads) from the Integration dropdown

2. Add mappings for each incoming field

For each field you plan to send from Zapier, add one mapping:

  • Source field: the key name that will come from your Zapier JSON payload (for example nameemailphonemessagecompanysource)
  • Destination type:
    • Lead column for built?in CRM fields like name, email, phone, source, status
    • Custom field for extra fields like Company, Budget, Service type, etc.
  • Destination: pick the exact lead field or custom field where the value should be stored
  • Mark Required for important fields such as name and email (if your UI offers this option)

Save each mapping. The names you configure here must match the keys you send from Zapier in the JSON body.

Step 4: Create a Zap in Zapier

1. Create a new Zap

  • Log in to your Zapier account.
  • Click Create Zap.

2. Choose a Trigger app

  • Select the app that will start the workflow, for example:
    • Webhooks by Zapier (Catch Hook)
    • Typeform
    • Google Forms (via a connector)
    • HubSpotPipedriveFacebook Lead Ads, etc.
  • Configure the trigger so that Zapier can receive or read the lead data (name, email, phone, message, etc.).
  • Run a Test trigger so Zapier has a sample payload ready for mapping.

3. Add the Webhooks by Zapier action

  • Click + Add action.
  • Search for and select Webhooks by Zapier.
  • Choose the event POST.

Step 5: Configure the Webhooks by Zapier POST action

1. Set the URL

  • In the URL field, enter your Task Session submit endpoint including the integration key, for example:
  • https://yourdomain.com/includes/forms/api/submit.php?integration=zapier

2. Set the Payload Type

  • Set Payload Type to json.

3. Configure the Data (JSON body)

In the Data section, you define which fields Zapier will send to Task Session. Each item becomes one JSON key/value pair:

  • Key: should match a Source field you configured in Field Mappings (for example nameemailphonemessage)
  • Value: choose the corresponding field from your Zap trigger sample data

Example configuration:

  • name > Trigger data: Full Name
  • email > Trigger data: Email
  • phone > Trigger data: Phone
  • message > Trigger data: Message
  • source > Static text: “Zapier”

Zapier will send a JSON body like this to your Task Session endpoint:

{
  "name": "John Smith",
  "email": "[email protected]",
  "phone": "+1 555 123 4567",
  "message": "I am interested in your services.",
  "source": "Zapier"
}

4. Configure Headers (authentication)

  • In the Headers section, add one header:
  • Authorization: Bearer YOUR_AUTH_TOKEN
  • Replace YOUR_AUTH_TOKEN with the token you set in the Zapier Integration in Task Session (for example zap_9834$XYZ).

5. Optional advanced settings

  • You can usually leave advanced options at their defaults:
    • Send as JSON: enabled automatically when Payload Type is json
    • Unflatten: either value is fine for simple flat fields

Step 6: Test the connection and debug failures

1. Send a test from Zapier

  • In your Zap, click Test step (or Test action) on the Webhooks by Zapier POST action.
  • Zapier will send a sample payload to https://yourdomain.com/includes/forms/api/submit.php?integration=zapier with the JSON body and Authorization header.

2. Verify the submission in Task Session

  • Log in to https://yourdomain.com/admin/
  • Go to Form settings > Submission Logs (https://yourdomain.com/admin/forms_submissions.php)
  • Check that a new submission appears for your Zapier integration, and review the status.

3. Use Debug to inspect raw payloads and errors

  • Go to Form settings > Debug (https://yourdomain.com/admin/forms_debug.php)
  • Here you can see:
    • The raw payload received from Zapier
    • Validation errors (for example “Name is required”, “Invalid email format”)
    • Lead creation results and any mapping issues
  • If something fails:
    • Make sure the integration query parameter matches your Source key (e.g. zapier)
    • Make sure the Authorization header token matches the Integration’s Auth token
    • Check that JSON keys in the body match the Field Mappings Source field names

Example JSON payload

This is a simple example of the JSON body your Zapier Webhooks POST action can send to Task Session:

{
  "name": "John Smith",
  "email": "[email protected]",
  "phone": "+1 555-123-4567",
  "message": "I would like more information about your services.",
  "source": "Zapier"
}

In your real integration you can add more keys (for example companybudgetcampaign, etc.) and map them in the Field Mappings page.

FAQ and Tips

What is the exact submit URL for my Zapier integration?

For the example Source key zapier, the submit URL is:

https://yourdomain.com/includes/forms/api/submit.php?integration=zapier

Can I have multiple Zapier integrations?

Yes. You can create multiple Integrations in Task Session with different Source keys, for example zapier-websitezapier-partnerszapier-ads. Each integration can have its own Auth token and Field Mappings. In Zapier, just point each Zap to the corresponding URL:

https://yourdomain.com/includes/forms/api/submit.php?integration=zapier-website
https://yourdomain.com/includes/forms/api/submit.php?integration=zapier-partners
https://yourdomain.com/includes/forms/api/submit.php?integration=zapier-ads

Which app do I use in Zapier to send requests to Task Session?

You use the built?in Webhooks by Zapier app as the Action step, with the POST event. Your trigger app can be anything that provides the lead data.

Where can I see errors if a lead is not created?

  • In Task Session, open Submission Logs at https://yourdomain.com/admin/forms_submissions.php
  • Open Debug at https://yourdomain.com/admin/forms_debug.php to see the raw payload and validation messages

Do I need to use yourdomain.com anywhere?

No. For this setup you always use your real Task Session domain. In this guide we use https://yourdomain.com/ as a placeholder. Replace it with the actual URL where your Task Session is installed (for example https://crm.example.com/).