All integrations

Callingly

MESSAGING · MESSAGING

Outbound calls, SMS, leads, and calling teams in the account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

callingly_delete_agents_by_idWRITE

Permanently delete one agent (Callingly user) from the account, removing them from every team they are on. This changes what the account is billed for.

api
callingly_delete_clients_by_idWRITE

Agency partners only: permanently delete a client account and everything under it. Prefer Set client active with is_active 0, which suspends the account reversibly.

api
callingly_delete_leads_by_idWRITE

Permanently delete one lead and its call history. Answers a JSON object whose success field is true.

api
callingly_delete_teams_by_id_agents_by_agent_idWRITE

Remove one agent from one team. The agent's own Callingly user is not deleted -- only their assignment to this team -- so they stop being rung for this team's calls.

api
callingly_delete_webhooks_by_idWRITE

Permanently delete one webhook, so Callingly stops posting that event to its target URL. Answers a JSON object whose message field confirms the deletion.

api
callingly_get_agentsREAD

List the account's agents (Callingly users), with each one's phone number and extension, timezone, ring priority, do-not-disturb state and whether they are currently available to take a call. Returns a `data` array plus a `count`.

api
callingly_get_agents_by_id_scheduleREAD

Retrieve one agent's weekly availability. Returns a bare JSON array of seven days, Sunday first, each with is_available and the time windows the agent can be called in; a window start may read allday.

api
callingly_get_callsREAD

List Callingly calls, newest first, optionally narrowed to a date range or one team. Returns a paginated envelope: `data` holds the calls and `links`/`meta` carry Laravel's page cursors, so read `meta.last_page` to know whether to ask for another page.

api
callingly_get_calls_by_call_idREAD

Retrieve one Callingly call by id, with its outcome, recording and lead. Returns the call's direction, status and lead status, ring status, duration in seconds, the agent who took it, the lead it reached, the team profile it ran under, any notes, and -- when Callingly recorded and processed the call -- recording_url, waveform_url, transcript and sales_advice.

api
callingly_get_clientsREAD

List the client accounts under an agency partner account. Returns a `data` array of clients, each with its numeric id -- the id to pass as account_id on the operations that accept one -- plus the client's name, email and the number of users and phone numbers it is billed for. An account that is not an agency partner gets an empty list.

api
callingly_get_leadsREAD

List leads, optionally narrowed to a date range or one phone number. Returns a bare JSON array (no `data` envelope -- unlike Get calls and Get teams), each lead carrying its owner, team, status, result, stage, tags, scheduled call time and the calls placed to it.

api
callingly_get_leads_by_idREAD

Retrieve one lead by id, with its owner, team, status, result, stage, tags, scheduled call time and whether it is stopped or blocked from further calls.

api
callingly_get_teamsREAD

List the calling teams on the account. Returns a `data` array of teams, each with its numeric id, account id and name -- the ids other operations take as team_id.

api
callingly_get_teams_by_idREAD

Retrieve one team's full calling configuration: call mode, the agent and lead whisper scripts and voice, the ring delay, the retry and lead-retry schedules, whether calls are recorded, whether reschedule is offered, and the team's SMS settings.

api
callingly_get_teams_by_id_agentsREAD

List the agents assigned to one team, with each agent's calling priority and call cap. Returns an object whose `agents` array holds the assignments -- its own envelope, not the `data` one the other list operations use.

api
callingly_get_webhooksREAD

List the account's webhooks. Returns a bare JSON array (no `data` envelope), each webhook with its id, name, event, target URL and the filters that narrow when it fires.

api
callingly_get_webhooks_by_idREAD

Retrieve one webhook by id, with its event, target URL and filters.

api
callingly_post_agentsWRITE

Add a new agent (Callingly user) to the account, with the phone number Callingly will ring. Adding a user changes what the account is billed for.

api
callingly_post_callsWRITE

PLACES A REAL PHONE CALL. Creates a lead in Callingly and immediately rings the team's agents to connect them to that person's phone number -- unless scheduled_at is set, which queues the call for later instead. This spends account call credits and dials a real number, so only invoke it when the user has asked for this specific person to be called.

api
callingly_post_clientsWRITE

Agency partners only: create a new client account under this agency, with its first user. Callingly bills the agency for the account, so this changes what the agency is charged.

api
callingly_post_clients_by_id_activeWRITE

Agency partners only: activate or deactivate a client account. A deactivated account stops placing and receiving calls and, on most plans, stops being billed; reactivating restores it.

api
callingly_post_smsWRITE

SENDS A REAL TEXT MESSAGE to a real phone number, from one of the account's Callingly numbers. This costs money and reaches a person, so only invoke it when the user has asked for this specific message to be sent. The message body may use Callingly's Liquid personalization tags, and US/Canada traffic needs the STOP opt-out sentence to stay compliant.

api
callingly_post_teamsWRITE

Create a new calling team with its call mode, whisper script and retry schedules. The team can then be given agents with Set team agents and named as team_id when placing calls.

api
callingly_post_webhooksWRITE

Create a webhook so Callingly POSTs to a URL you control when a call completes or a lead is created or updated. The optional fields narrow when it fires and only apply to the event named: call_direction, call_status, call_lead_status, team_id and number_id are call_completed only, while field and filter are lead_created / lead_updated only.

api
callingly_put_agents_by_idWRITE

Update one agent's details, including the number Callingly rings and their do-not-disturb state. Setting donotdisturb stops this agent being rung until donotdisturb_until passes.

api
callingly_put_agents_by_id_scheduleWRITE

Replace one agent's whole weekly availability. The body is a JSON ARRAY of seven day objects, Sunday (day 0) through Saturday (day 6). This is a REPLACEMENT: a day left out of the array is not carried over, so send all seven.

api
callingly_put_leads_by_idWRITE

Update one lead's details and call state. Setting is_stopped or is_blocked is what stops Callingly calling this person again, so this operation can end an in-progress call sequence.

api
callingly_put_teams_by_id_agentsWRITE

Replace a team's agent roster with exactly the agents listed. This is a REPLACEMENT, not an addition: an agent currently on the team and absent from the list is removed from it.

api
callingly_put_teams_by_id_agents_by_agent_idWRITE

Change one agent's calling priority and call cap within one team, without changing the rest of the roster.

api
callingly_put_webhooks_by_idWRITE

Update one webhook. Partial updates are supported -- send only the fields to change, as Callingly's own sample body does.

api

Put Callingly behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.