Webhook tool

Jobber AI receptionist that turns every call into a request

A Cartesia agent answers the call, gets the name, address and job details, and creates the Jobber client and request with a webhook tool you configure.

Jobber intake agent

Answers calls and creates the request.

Instructions

Get the caller's name, address and what they need. Confirm the details back, then create the request. Offer to transfer if they want to speak to the owner.

Handoff
Owner mobile

Connected tools

  • Create requestWebhook
  • Transfer to ownerTransfer

What a Jobber AI voice agent can do

Open one to watch a call. The grey lines are the tools the agent calls mid-sentence.

Each call ends with a request in Jobber that holds the caller's own description, so nobody has to replay a voicemail.

Tool definitions

Webhook tools go to POST /v1/agents/tools. Transfers are a system tool on the agent. Replace the placeholder values in capitals with your own.

Webhook

Create request

Sends the caller's details to your service, which creates the client and request.

Show the JSON definition
create_request
{
  "type": "webhook",
  "name": "create_request",
  "description": "Creates a request for the caller. Use it once name, address and details are confirmed.",
  "pre_tool_speech": "auto",
  "execution_mode": "immediate",
  "response_timeout_secs": 20,
  "api_schema": {
    "url": "https://api.your-company.com/jobber/requests",
    "method": "POST",
    "request_body_schema": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Caller's full name."
        },
        "phone": {
          "type": "string",
          "dynamic_variable": "system__caller_id"
        },
        "address": {
          "type": "string",
          "description": "Service address."
        },
        "details": {
          "type": "string",
          "description": "What the caller needs, in their own words."
        }
      },
      "required": [
        "name",
        "address",
        "details"
      ]
    },
    "authentication": {
      "mode": "bearer",
      "token": {
        "type": "secret",
        "secret_value": "YOUR_SERVICE_TOKEN"
      }
    }
  }
}

Transfer

Transfer to owner

Cold transfer to the owner.

Show the JSON definition
transfer_to_owner
{
  "config": {
    "system_tools": {
      "transfer_to_number": {
        "description": null,
        "pre_tool_speech": "auto",
        "transfers": [
          {
            "destination": {
              "type": "phone",
              "phone_number": "+14155550102"
            },
            "condition": "The caller asks for the owner or a person."
          }
        ]
      }
    }
  }
}

Set it up

No Jobber connector. The tool posts the caller's details to a service of yours, which calls Jobber's GraphQL API with a token it refreshes. Vendor details read in October 2026.

  1. Register a Jobber app

    Create an app in Jobber's developer center and complete its OAuth flow to get an access token.

  2. Decide where the token lives

    Jobber access tokens expire. Keep refresh logic in a service of yours and give the agent a long-lived token for that service.

  3. Write the endpoint

    Your service creates the client with Jobber's clientCreate mutation, then the request, sending the X-JOBBER-GRAPHQL-VERSION header on every call.

  4. Test a call

    Call the agent, give it a new address, and check the request in Jobber.

Before you build

Jobber needs a version header

Every Jobber GraphQL call needs an X-JOBBER-GRAPHQL-VERSION header set to an active API version. Your service sets it, not the agent.

Tokens expire

Jobber tokens expire and are renewed with a refresh token. A Cartesia webhook tool sends a fixed bearer token, so your service handles the refresh.

Enterprise-grade security

  • HIPAA compliant badge

    HIPAA compliant

  • SOC 2 Type 2 badge

    SOC 2 Type 2

  • GDPR badge

    GDPR

Jobber AI voice agent FAQs

Does Jobber have an AI receptionist?

Yes. Jobber sells Receptionist, powered by Jobber AI, which answers calls and texts and can schedule jobs through your Online Booking form. It's included on the Plus plan and is a paid add-on on select others. A Cartesia agent is the build-your-own route: it creates the client and request through Jobber's GraphQL API with tools you control.

Can an AI phone agent create requests in Jobber?

Yes. A webhook tool sends the caller's name, address and description to your service, which creates the client and a request in Jobber. The caller's number comes from system__caller_id, so the agent doesn't have to ask for it.

Why does a service sit between the agent and Jobber?

Jobber access tokens expire and are renewed with a refresh token, and a Cartesia webhook tool sends a fixed bearer token. Your service refreshes Jobber's token, runs the GraphQL mutations, and gives the agent a long-lived token of its own.

What happens when a caller asks for the owner?

The agent transfers them to a number you choose. If the agent created the request first, it's already in Jobber with their details. Transfers need a Twilio or SIP trunk number, per Cartesia's docs, so the number the agent answers on needs to be on Twilio or a SIP trunk.

What does a Jobber voice agent cost to run?

Agents run at $0.03/min, plus LLM usage and telephony. Your Jobber plan is billed by Jobber, and you don't need its Receptionist add-on for this setup. Cartesia's telephony fee applies only to Cartesia numbers.

Get started today

Talk to an expert.

Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.

Contact Sales

Start building.

Access our models via API and bring a voice agent into production in minutes.

Try Cartesia