click2call

click2call

Start or hang up an outbound two-leg call from an agent extension.

How It's Invoked

click2call is a model-invoked skill — Claude loads it automatically whenever your request involves placing a call, so you don't need to type anything. To run it deliberately inside a session, use the command below.

/click2call

Examples

click2callcall this lead back for me right now
click2calltrigger a callback to +1 415 555 0132
click2callconnect agent 204 to the customer on hold

The click2call skill teaches Claude the Voicenter ForwardDialer endpoint end to end — the exact request shape, a real response, and production-ready TypeScript. Claude writes a backend route that places a two-leg call: it rings your agent extension first, then dials the customer and bridges them, passing page and campaign data through CustomData so every call is attributed in your CDRs.

When to Use

REACH FOR IT WHEN

You want a website or CRM button that dials a lead and an agent together.

An app event should trigger an outbound call programmatically.

Calls must be attributed with CustomData — UTM, page, or deal id.

USE SOMETHING ELSE FOR

Routing inbound calls by business logic → external-layer.

Bulk campaign dialing and lead lists → productive-dialer.

Watching live calls and queues → active-calls / real-time.

How It Works

1

Validate & check blacklist

Claude validates the target number and honors opt-outs through the blacklist skill before anything dials.

2

Call the endpoint

It POSTs to the ForwardDialer/click2call endpoint with your code, the customer number, and the representative number.

3

Two-leg bridge

Voicenter rings the agent (leg A) first, then dials the customer (leg B) and bridges the two together.

4

Attribute the call

Page, UTM, and deal data ride along as CustomData, so the call is tagged and searchable in your CDRs.

REQUEST & RESPONSE

POST api.voicenter.com
POST /ForwardDialer/click2call.aspx

{
  "code": "XXXXXXXXXXXX",
  "phone": "SIPSIP",
  "target": "0501234567",
  "action": "call",
  "format": "json",
  "record": "true",
  "var_clientID": "CRM-9876"
}

// 200 OK
{ "ERRORCODE": 0, "ERRORMESSAGE": "OK", "CALLID": "20240601abc123def456" }

TYPESCRIPT

Node 18+ · fetch
const res = await fetch('https://api.voicenter.com/ForwardDialer/click2call.aspx', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    code: process.env.VOICENTER_API_CODE,
    phone: 'SIPSIP', target: '0501234567',
    action: 'call', format: 'json', record: 'true',
    var_clientID: 'CRM-9876',
  }),
});
const { ERRORCODE, CALLID } = await res.json();
if (ERRORCODE !== 0) throw new Error('Click2Call failed');

Parameters

codestring · requiredYour organization API code from the CPanel back office.
phonestring · requiredThe agent's SIP extension — leg A, rung first.
targetstring · requiredThe customer number to dial — leg B.
actionstring · requiredcall to place the call, hangup to end it.
formatstring · optionalResponse format. Use json.
recordstring · optionaltrue to record the call.
var_*string · optionalCustomData passed through to the CDR — UTM, page, or deal id.