Webhook tool

Gorgias AI voice agents that turn store calls into tickets

The agent answers order status, return and sizing questions, and for the rest it opens a Gorgias ticket under the shopper's email and can transfer.

Store support agent

Answers order, return and sizing questions and tickets the rest in Gorgias.

Instructions

Help with order status, returns and sizing from your knowledge. If you cannot resolve it, ask for the email on the order, create a ticket with the shopper's description and read back the ticket number. Transfer if they ask for a person.

Handoff
Support team

Connected tools

  • Create ticketWebhook
  • Transfer to supportTransfer

What a Gorgias AI voice agent can do

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

The agent asks for the email on the order and opens the ticket under that customer, so it lands next to their other tickets.

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 ticket

Creates a Gorgias ticket for the shopper.

Show the JSON definition
create_ticket
{
  "type": "webhook",
  "name": "create_ticket",
  "description": "Creates a support ticket for the shopper. Returns the ticket, including its id.",
  "pre_tool_speech": "auto",
  "execution_mode": "immediate",
  "response_timeout_secs": 20,
  "api_schema": {
    "url": "https://YOUR_DOMAIN.gorgias.com/api/tickets",
    "method": "POST",
    "request_body_schema": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "object",
          "properties": {
            "email": {
              "type": "string",
              "description": "The email the shopper used for the order, as they spelled it."
            },
            "name": {
              "type": "string",
              "description": "The shopper's name."
            }
          },
          "required": [
            "email"
          ]
        },
        "subject": {
          "type": "string",
          "description": "Short subject, such as Package marked delivered but missing."
        },
        "channel": {
          "type": "string",
          "constant_value": "api"
        },
        "via": {
          "type": "string",
          "constant_value": "api"
        },
        "from_agent": {
          "type": "boolean",
          "constant_value": false
        },
        "messages": {
          "type": "array",
          "description": "One message from the shopper.",
          "items": {
            "type": "object",
            "properties": {
              "sender": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The same email as the customer."
                  }
                },
                "required": [
                  "email"
                ]
              },
              "body_text": {
                "type": "string",
                "description": "What the shopper said, in their words, then: Called from {{system__caller_id}}."
              },
              "channel": {
                "type": "string",
                "enum": [
                  "api"
                ]
              },
              "via": {
                "type": "string",
                "enum": [
                  "api"
                ]
              },
              "from_agent": {
                "type": "boolean",
                "description": "Always false."
              }
            },
            "required": [
              "sender",
              "body_text",
              "channel",
              "via",
              "from_agent"
            ]
          }
        }
      },
      "required": [
        "customer",
        "subject",
        "messages"
      ]
    },
    "authentication": {
      "mode": "basic_auth",
      "username": "voice-agent@yourstore.com",
      "password": {
        "type": "secret",
        "secret_value": "YOUR_GORGIAS_API_KEY"
      }
    }
  }
}

Transfer

Transfer to support

Cold transfer to the support line.

Show the JSON definition
transfer_to_support
{
  "config": {
    "system_tools": {
      "transfer_to_number": {
        "description": null,
        "pre_tool_speech": "auto",
        "transfers": [
          {
            "destination": {
              "type": "phone",
              "phone_number": "+14155550144"
            },
            "condition": "The shopper asks for a person or reports a billing problem, after the ticket is created."
          }
        ]
      }
    }
  }
}

Set it up

No native connector. The tool calls the Gorgias tickets endpoint directly with your Gorgias email and an API key as Basic auth. Vendor details read in November 2026.

  1. Add a user for the agent

    A Gorgias API key has the same permissions as the user who holds it. Add a dedicated user whose role can create tickets, and use its key only for the agent.

  2. Create an API key

    Signed in as that user, open Settings, then REST API, and create an API key. The username for Basic auth is that user's email.

  3. Add the tool

    Set your Gorgias subdomain in the URL, the user's email as the username and the API key as the password secret.

  4. Test an escalation

    Ask something the agent can't answer and check that a ticket appears under the email you gave, with the number you called from.

Before you build

API tickets skip auto-replies

Gorgias does not run auto-reply rules on tickets whose message channel is api, and keyword rules need stripped_text. Other rule actions, such as auto-tags, still run.

Rate limits

An API key integration can make 40 requests in a 20-second window, or a 10-second window on Enterprise accounts. Gorgias answers 429 with a Retry-after header above that.

Enterprise-grade security

  • HIPAA compliant badge

    HIPAA compliant

  • SOC 2 Type 2 badge

    SOC 2 Type 2

  • GDPR badge

    GDPR

Gorgias AI voice agent FAQs

Does Gorgias have an AI voice agent?

Gorgias documents its AI Agent on email, chat, SMS and social channels such as Instagram DMs, Facebook Messenger and WhatsApp, and sells phone support as a separate Voice add-on. A Cartesia agent answers the phone, handles what your policy covers, and opens a Gorgias ticket for the rest.

How do I connect Gorgias to an AI voice agent?

Add a dedicated Gorgias user whose role can create tickets, sign in as that user, and create an API key under Settings, then REST API. On the create_ticket tool, set your subdomain in the URL, the user's email as the basic auth username and the API key as the password secret.

Why does the agent ask for the shopper's email?

Gorgias files tickets under a customer, and the email on the order is the surest way to match the shopper. The caller's number goes in the message so your team can call back.

Do Gorgias rules run on tickets the agent creates?

Most do. Gorgias skips auto-reply rules on tickets whose message channel is api, and keyword rules need stripped_text. Other rule actions, such as auto-tags, still run.

Who bills the phone minutes on a Gorgias voice agent?

Cartesia bills the agent at $0.03/min, plus LLM usage and telephony. You don't need the Gorgias Voice add-on for this setup. Phone minutes depend on the number. Cartesia-provisioned numbers are US only and carry Cartesia's telephony fee. Numbers from your Twilio account or a SIP trunk pay your carrier's rates instead.

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