Skip to main content

Send Toran leads into Jobber

Quick answer

When a homeowner leaves their details on your site, Toran can open a request in Jobber for them: the client is found or created, a new request appears in your Requests list, and Toran's AI summary of the job sits on it as a note. You build it once in Zapier, using Jobber's own Zapier actions. No code.

Who this is for

Plumbers, HVAC, electricians, cleaners, landscapers, and other home service businesses that run their jobs in Jobber and want website leads to show up there without retyping them.

What you need

  • A Toran Pro or Business plan. The outbound webhook is a paid-plan feature (see the plan table).
  • A Jobber plan that includes Zapier. Zapier's help center lists the Connect, Grow, and Plus plans (source); check yours in Jobber under the gear icon, Account and Billing.
  • A paid Zapier plan. Webhooks by Zapier, the trigger this recipe uses, is not on Zapier's Free plan.

Setup, step by step

  1. 1. Create a Catch Hook in Zapier. New Zap → trigger Webhooks by Zapier → event Catch Hook. Copy the webhook URL Zapier shows you.

  2. 2. Paste it into Toran. Dashboard → your widget → Design → Chat & alerts → Outbound webhook. Paste the URL and save. Optional: set Send to webhook to Warm + Hot or Hot only if you only want your best leads in Jobber.

  3. 3. Send a test lead. Click Send test webhook under the URL field. Toran shows Delivered or the exact reason it failed. Back in Zapier, test the trigger: you should see a request with name "Test Lead" and event lead.test. Zapier uses it as sample data for the next steps.

  4. 4. Keep test leads out of Jobber. Add Filter by Zapier: only continue if event exactly matches lead.captured. The dashboard test is always lead.test, so it stops here once the Zap is on.

  5. 5. Find or create the client. Add the Jobber action Find or Create Client. Search by the lead's email (or phone if you get many phone-only leads), and map the name, email, and phone for when a new client has to be created. Toran sends the full name as one field: add a Formatter by Zapier step (Text, Split) before this one if you want separate first and last names.

  6. 6. Create the request. Add the Jobber action Create Request. For the client, map the client ID from step 5 (not the name). Give it a title that tells you how urgent it is, for example Website lead ([tier], [score]).

  7. 7. Attach what the visitor needs. Add the Jobber action Add Note to Request right after Create Request. A note that works well (each item in square brackets is a field you insert from the Toran trigger with Zapier's field picker):

    [ai_summary]
    
    Visitor wrote: [metadata notes]
    Page: [source]
    Lead: [tier], score [score]
    Campaign: [metadata utm_source] / [metadata utm_campaign]
    Toran lead ID: [lead_id]
  8. 8. Turn the Zap on. From now on, every captured lead that passes your tier setting becomes a Jobber request within moments.

Field mapping

Toran fieldWhere it goes in JobberNotes
nameClient first and last nameToran sends one name field. Split it with Formatter by Zapier (Text, Split) or map it all to the first name. It can be empty: set a fallback such as "Website visitor".
emailClient email (also the Find Client search value)At least one of email or phone is always present.
phoneClient phoneAs the visitor typed it, often with a country code.
tier + scoreRequest title, or a client tag (Add Tags to Client)For example a title like "Website lead (hot, 82)" so the hottest requests stand out in your list.
ai_summaryRequest note (Add Note to Request)Toran's short AI summary of what the visitor needs. Empty when the lead never chatted with the AI (for example a form-only lead).
metadata.notesRequest noteWhat the visitor wrote in their own words. Raw visitor text.
sourceRequest noteThe page the lead came from, for example your water heater page.
metadata.utm_source / utm_medium / utm_campaignRequest note, or a client tagWhich ad or campaign brought them, so you can see which ads book jobs.
lead_idRequest noteToran's ID for the lead. Use it to spot a duplicate request.
eventNot mappedUsed only by the filter: lead.captured is a real lead, lead.test is the dashboard test.

Field labels inside Zapier's Jobber steps can be worded slightly differently from this table; pick the closest match.

Test it with a real-looking lead

The dashboard test is stopped by your filter, which is what you want in production. To see a request land in Jobber end to end, open your own website, start a chat, and leave a name and an email you control. That is a real captured lead, so it runs the whole Zap. Delete the test client and request in Jobber afterwards. You can also use each Jobber step's Test button in the Zap editor, which creates a real record from the sample data.

This is what a real lead looks like when it reaches Zapier:

{
  "event": "lead.captured",
  "lead_id": "3f6c2a8e-1b4d-4c7e-9a10-5d2e8b7f4c11",
  "widget_id": "9b1e7d42-6a3c-4f85-b2d0-7c4e1a9f3e58",
  "name": "Dana Ortiz",
  "email": "dana.ortiz@example.com",
  "phone": "+15555550142",
  "score": 82,
  "tier": "hot",
  "source": "https://example-plumbing.com/water-heaters",
  "ai_summary": "Water heater leaking in the garage since this morning. Wants a same-day visit, home in Austin 78704. Prefers a text back.",
  "timestamp": "2026-10-13T14:05:09.000Z",
  "metadata": {
    "notes": "Leaking water heater, can someone come today?",
    "utm_source": "google",
    "utm_medium": "cpc",
    "utm_campaign": "water-heater-repair",
    "company_name": null
  }
}

What does not carry over

  • The full chat transcript. Toran sends a short AI summary of the conversation, not the conversation itself. The full chat stays in your Toran dashboard.
  • A structured address or property. There is no address field in the webhook. Jobber's Zapier actions also attach a request to the client's first property, so add or pick the right property in Jobber.
  • Jobber custom fields and the on-site assessment. Jobber's Zapier app does not fill these, so put anything extra in the request note.
  • Replies. This is one way, Toran to Jobber. Changes you make in Jobber do not flow back to Toran.

About the signature

Every request from Toran carries an X-Toran-Signature header. Zapier's Catch Hook does not check it. In this recipe the protection is the Catch Hook URL itself, which is long and impossible to guess: keep it private, and if it ever leaks, create a new Catch Hook and paste the new URL into Toran. If you need every lead verified, point Toran at your own endpoint instead and check the signature there, as described in the webhook reference.

Frequently asked questions

Is there a native Toran app inside Jobber?

No. Toran sends each lead as a signed webhook, and Zapier carries it into Jobber using Jobber's own Zapier app (Find or Create Client, Create Request, Add Note to Request). You build the Zap once; after that every lead flows on its own.

Will the homeowner's address land on the Jobber client?

Not as a structured address. Toran's webhook does not have an address field. If the visitor typed their address or ZIP code in the chat, it usually shows up in the AI summary or in their own message, which this recipe puts in the request note. Add the property in Jobber when you call them back.

Can a lead create two requests?

Rarely. Delivery is at-least-once: if your Zap is slow to answer, Toran retries once, and Zapier will run the Zap again. Find or Create Client stops a second client from being created for the same email, but a second request can appear. The note on each request carries Toran's lead ID, so a duplicate is easy to spot and archive.

Can I send only the best leads to Jobber?

Yes. In the Toran dashboard, the 'Send to webhook' setting next to the URL can be set to All leads, Warm + Hot, or Hot only. Colder leads still reach your inbox and alerts, they just skip Jobber.

Jobber's Zapier actions were checked against Zapier's Jobber listing and Jobber's help center in October 2026. Using another tool? See the general Zapier & Make recipe.