Use the Zapier Webhook Integration to let your Noem.AI chatbot trigger Zapier Zaps from natural-language instructions. The bot calls a Zapier Catch Hook / Webhooks by Zapier URL with a JSON payload you define, and can display values returned by the Zap.
What this action does #
- Sends an HTTP request (POST/GET) from the bot to a Zapier Webhook trigger.
- Passes Data Properties (JSON) captured from the conversation.
- Optionally relays response data (IDs, links) back to the user.
Prerequisites #
- A Zapier account with a Zap that starts with Webhooks by Zapier → Catch Hook (or another webhook-capable trigger).
- The Zap is Published and the Webhook URL is available.
- Any app connections used by actions in the Zap are authorized.
Create the Zapier action #
- Open: Actions → Add → Zapier to open Zapier Webhook Integration.
- Name (required)
A short function name the bot will reference in Instructions.
Example: zap_create_support_ticket. - Description (required)
Explain when the bot should call this Zap and what to collect.
Example:
“Use zap_create_support_ticket when a user reports a product issue. Collect title, detailed description, priority, product area, and reporter email. Confirm before sending.” - End Point(required)
- Method: POST (recommended) or GET.
- URL: Paste your Zapier Catch Hook URL.
- Method: POST (recommended) or GET.
- Data Properties
Define the fields to include in the request. For each property specify:
- Name (JSON key, e.g., emailContent)
- Type (String, Number, Boolean, Array, Object)
- Description (clear guidance for the AI)
- Required (must be present before calling)
- Name (JSON key, e.g., emailContent)
- Use Add New Property to add fields. AI Assistance can suggest properties.
- Advanced Mode (optional)
Configure custom headers (e.g., X-Source, Authorization) or query parameters if your Zap expects them. - Save
Click Save to store the action.
Tip (inspect payload): You can temporarily point End Point to https://webhook.site/ to view the exact payload, then switch back to your Zap URL.
Example configuration #
- Name: zap_create_support_ticket
- Description:
“Call when users report bugs or request help. Gather: short title, detailed description with steps, priority (low|medium|high), product area, reporter email (use user.email if available). Confirm before sending.” - End Point: POST https://hooks.zapier.com/hooks/catch/…
- Data Properties:
| Name | Type | Description | Required |
| title | String | Short issue title (≤100 chars). | ✓ |
| emailContent | String | Detailed description including steps, expected vs. actual, and relevant context. | ✓ |
| priority | String | low | medium | high. | |
| productArea | String | Feature/module where the issue occurred. | |
| reporterEmail | String | Email of the requester; default to {{user.email}} if present. | |
| attachments | Array | URLs of screenshots or files provided by the user. |
Sample POST body:
{
“title”: “Checkout 500 error”,
“emailContent”: “User cannot complete payment. Steps: 1) Add item, 2) Click Pay -> 500. Expected: success.”,
“priority”: “high”,
“productArea”: “Checkout”,
“reporterEmail”: “[email protected]”,
“attachments”: [“https://files.noem.ai/f/abc123.png”]
}
In your Zap:
- Trigger: Webhooks by Zapier → Catch Hook.
- Action(s): Create ticket in your support tool, send Slack message, update spreadsheet, etc.
- Optional response: Use Webhooks by Zapier → Custom Request or Code by Zapier to return a small JSON body to Noem.AI, e.g.:
{ “status”: “created”, “ticketId”: “SUP-4821”, “portalUrl”: “https://support.example.com/tickets/SUP-4821” }
Add decision rules in your bot’s Instructions #
When a user reports a bug or requests help, call function `zap_create_support_ticket`.
Collect: title, detailed description (steps to reproduce), priority, product area, reporter email (use user.email if available), attachments (URLs).
Confirm the summary: “Send this to support via Zapier now?” If yes, call the function.
If any required field is missing after one follow-up, proceed and mark it as TBD.
If the Zap returns {ticketId, portalUrl}, present them to the user.
Testing #
- Publish your Zap and copy the Catch Hook URL.
- In Noem.AI preview chat, issue a realistic request (e.g., “Create a ticket: payment page 500 error, high priority.”).
- Confirm the bot gathers details and triggers zap_create_support_ticket.
- In Zapier Task History, verify the payload and downstream actions.
- If your Zap returns JSON, confirm the bot surfaces it in chat.
Security and best practices #
- Authentication: If you protect the hook (e.g., secret header), add it in Advanced Mode; validate inside the Zap.
- Least privilege: Keep app credentials inside Zapier; avoid sending secrets from Noem.AI.
- Validation: Use Formatter or Code by Zapier steps to validate/sanitize inputs before creating records.
- PII minimization: Send only necessary user attributes.
- Resilience: Keep the Zap’s first steps fast (acknowledge quickly) and perform heavy work downstream/asynchronously.