Webhook tool

Freshdesk AI voice agents that log phone issues as tickets

Callers describe the problem, and the agent solves it from your approved answers or creates a Freshdesk ticket with their details.

Helpdesk phone agent

Answers common questions and logs tickets.

Instructions

Answer login, invoice and refund questions from the approved knowledge. If you cannot, ask for the caller's name and email, spell the email back, create a ticket and read back the ticket number. If a whole office is locked out, create the ticket, then transfer to the helpline.

Handoff
Support line

Connected tools

  • Create ticketWebhook
  • Transfer to supportTransfer

What a Freshdesk AI voice agent can do

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

The agent puts the caller's phone number on the ticket, so your team can call back without hunting for it in another system.

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 Freshdesk ticket.

Show the JSON definition
create_ticket
{
  "type": "webhook",
  "name": "create_ticket",
  "description": "Creates a ticket for the caller's issue.",
  "pre_tool_speech": "auto",
  "execution_mode": "immediate",
  "response_timeout_secs": 20,
  "api_schema": {
    "url": "https://YOUR_DOMAIN.freshdesk.com/api/v2/tickets",
    "method": "POST",
    "request_body_schema": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The caller's full name."
        },
        "subject": {
          "type": "string",
          "description": "Short subject."
        },
        "description": {
          "type": "string",
          "description": "What the caller described."
        },
        "email": {
          "type": "string",
          "description": "Caller's email address, spelled back to them."
        },
        "phone": {
          "type": "string",
          "dynamic_variable": "system__caller_id"
        },
        "priority": {
          "type": "integer",
          "constant_value": 1
        },
        "status": {
          "type": "integer",
          "constant_value": 2
        },
        "source": {
          "type": "integer",
          "constant_value": 3
        }
      },
      "required": [
        "subject",
        "description",
        "email"
      ]
    },
    "request_headers": {
      "Authorization": {
        "type": "secret",
        "secret_value": "Basic YOUR_BASE64_API_KEY_COLON_X"
      }
    }
  }
}

Transfer

Transfer to support

Cold transfer to the helpline.

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": "+14155550111"
            },
            "condition": "The caller asks for a person or reports an outage."
          }
        ]
      }
    }
  }
}

Set it up

No native connector. The webhook tool calls the Freshdesk tickets endpoint directly with your API key, sent as a secret Basic Authorization header. Vendor details read in October 2026.

  1. Find your API key

    In the Freshdesk portal, click your profile picture, open Profile settings, and copy the API key shown there.

  2. Add the tool

    Freshdesk documents key auth as the key for the username and X for the password. Base64-encode KEY:X and store "Basic " plus that string as the Authorization secret.

  3. Set priority and status

    The ticket tool fixes priority 1 (Low), status 2 (Open) and source 3 (Phone) with constants. Change them to match your workflow.

  4. Test

    Call, report a problem and check the ticket.

Before you build

Constants for fields you control

Priority and status are numeric codes in Freshdesk. Setting them as constants keeps the model from choosing.

Spell email addresses back

Tell the agent to repeat the address letter by letter, so one wrong letter does not lose the ticket.

Enterprise-grade security

  • HIPAA compliant badge

    HIPAA compliant

  • SOC 2 Type 2 badge

    SOC 2 Type 2

  • GDPR badge

    GDPR

Freshdesk AI voice agent FAQs

Does Freshdesk have an AI voice agent?

Through apps. Freshcaller connects to Voice AI platforms such as Synthflow and SquawkVoice through Marketplace apps, with a handover call flow to live agents. A Cartesia agent works without Freshcaller. It answers on your own number and creates a Freshdesk ticket through the tickets API with your API key.

Can I use this agent without Freshcaller?

Yes. The agent answers on a Cartesia, Twilio or SIP-trunked number and calls Freshdesk's API directly, so you don't need Freshcaller. Transfers to your support line need Twilio or a SIP trunk.

How do I connect Freshdesk to an AI voice agent?

Copy your API key from your Freshdesk profile settings. Base64-encode the key followed by :X, store "Basic " plus that string as a secret Authorization header on the create_ticket tool, and put your Freshdesk domain in the URL. The tool fixes priority and status with constants, so the model can't choose them.

Does the agent need the caller's email address?

The tool on this page requires one. Freshdesk also accepts a ticket with only a phone number, as long as it has the requester's name, so you can drop email from the tool's required fields if callers won't give one.

Who bills the phone minutes on a Freshdesk voice agent?

Cartesia bills the agent at $0.03/min, plus LLM usage and telephony. 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