How to Use AI Classification in Zapier (Step-by-Step)

Zapier automates the movement of data. AI classification decides what to do with it. Together, they let you build smarter workflows that branch on content - not just conditions. Here's exactly how to wire them up.

What Zapier alone can't do

Zapier is extraordinarily good at moving structured data between apps based on fixed conditions. If a field equals a specific value, do this. If a number is greater than a threshold, do that. These conditions work well when your data is already clean and categorical.

But a huge amount of business data isn't clean or categorical - it's free text. Email bodies, form responses, CRM notes, support messages, survey feedback. Zapier can check if a field contains a keyword, but it can't understand what a block of text actually means.

That's where classifaily slots in. You add one step between your trigger and your action: an HTTP Request to the classification API. The response gives Zapier a clean, structured label it can use to branch the rest of the workflow.

What you need before you start

  • A classifaily account - the free plan is enough to build and test
  • Your classifaily API key from the dashboard
  • A Zapier account (any plan - Webhooks by Zapier and Code by Zapier are on paid plans, but the built-in HTTP action is available on all plans via the "Webhooks" app)

Step 1: Set up your trigger

Your trigger is whatever feeds content into the workflow. Common starting points:

  • Typeform / Jotform / Gravity Forms - new form submission
  • Gmail / Outlook - new email received in a specific inbox or matching a filter
  • Intercom / Zendesk - new conversation or ticket created
  • Webhooks by Zapier - catch-all for any source that can send a POST request

Set up the trigger as normal. Once it's pulling in sample data, move to step 2.

Step 2: Add the classification step

Add a new action step and choose Webhooks by Zapier (or HTTP depending on your plan). Select the POST method and configure it as follows:

URL:

https://api.classifaily.com/v1/classify

Headers:

Authorization: Bearer cai_live_your_key_here
Content-Type: application/json

Body (JSON):

{
  "input": "{{your trigger field here}}",
  "categories": ["sales_inquiry", "support_request", "spam", "partnership", "other"]
}

Map the content field to the text from your trigger - the email body, form message field, ticket description, or whatever text you're classifying. Set the categories to match the routing destinations that make sense for your workflow.

Test the step. Zapier will show you the raw response from classifaily, which will look like:

{
  "label": "sales_inquiry",
  "confidence": 0.89,
  "request_id": "req_01j0..."
}

Step 3: Branch with Filter or Paths

Now you have label and confidence as Zapier fields you can reference in subsequent steps. Use them to branch your workflow:

Using Filter: Add a Filter step after the classification step. Set the condition to label (the field from the classifaily response) exactly matches sales_inquiry. The Zap continues only when that label is returned. Duplicate the Zap for each label you want to route on.

Using Paths (recommended): Paths lets you define multiple branches in a single Zap. Add a Paths step after classification. For each path, set the filter condition on label:

  • Path A: label exactly matches sales_inquiry → create a deal in your CRM
  • Path B: label exactly matches support_request → create a ticket in Zendesk
  • Path C: label exactly matches spam → add to a spam log Google Sheet and stop
  • Path D: (everything else) → send a Slack notification for manual review

Filtering by confidence

Add a confidence check to your path conditions to handle uncertain responses. For the spam path, you might set: label exactly matches spam AND confidence greater than 0.80. Anything below that threshold falls through to your manual review path instead of being silently dropped.

This prevents the workflow from acting on low-confidence classifications where the model wasn't sure. Your manual review queue becomes a safety net for genuine ambiguity.

A complete example: contact form routing

Here's a complete Zap that routes a contact form to the right team automatically:

  1. Trigger: Typeform - new submission on your contact form
  2. Action: Webhooks by Zapier - POST to classifaily with the message field and categories ["sales", "support", "partnership", "press", "spam"]
  3. Paths:
    • sales → HubSpot: create contact + deal in Sales pipeline
    • support → Intercom: create conversation assigned to Support team
    • partnership → Gmail: forward to partnerships@yourcompany.com
    • press → Notion: add row to Press Inquiries database
    • spam (confidence > 0.80) → do nothing (end path)
    • Everything else → Slack: post to #inbound-review channel

This Zap replaces a human who was previously reading every form submission and manually forwarding them. It runs 24/7, it's consistent, and it costs fractions of a cent per submission.

aily">Tips for using classifaily in Zapier

  • Concatenate fields for richer context. Instead of just the message body, pass "Subject: {{subject}}\nFrom: {{email}}\nMessage: {{message}}" as the content. More context improves accuracy.
  • Use schema IDs. If you're classifying the same content type across multiple Zaps, save your categories as a named schema in classifaily and pass "schema_id": "sch_xxx" instead of the full category list. Updating the schema updates all Zaps at once.
  • Watch your task usage. Each Zapier step counts as a task. If you're on a high-volume plan, pre-filter obvious cases (e.g., form submissions that are clearly empty) before sending to classifaily to save API calls.
Add AI classification to your Zapier workflows.

Free plan. 100 classifications per month. No credit card required.

Get your API key