---
title: "API & automation"
slug: "api-automation-faq"
updated: 2025-10-24T14:54:27Z
published: 2025-10-24T14:54:27Z
canonical: "docs.voiso.com/api-automation-faq"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voiso.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API & automation

{{variable.AudienceDevelopers}}

This article contains a list of common questions with answers that link to articles where the information is documented.

:::(Info) (Purpose)
For technical issues, see the [Troubleshooting section](/v1/docs/troubleshooting).
:::

## APIs

#### Q: How do I trigger Click-to-Call from my CRM?

A: Call the Click-to-Call **Start call** endpoint; use the returned `call_id` to track the session.
See: [Developers – Start call](https://developers.voiso.com/reference/start-call-overview)

#### Q: How do I hang up a Click-to-Call session programmatically?

A: Call the **Stop call** endpoint for the active session (use the `call_id` retrieved using the **Start call** endpoint).
See: [Developers – Stop call](https://developers.voiso.com/reference/stop-call-overview) and [Developers – Start call](https://developers.voiso.com/reference/start-call-overview).

#### Q: How can my app check if an agent is available before starting a call?

A: Call the **Agent status** endpoint (pull) or subscribe to the **agent-status events** webhook (push).
See: [Developers – Agent status](https://developers.voiso.com/reference/listagentsstatuses) and [Developers – Agent status webhooks](https://developers.voiso.com/reference/agentstatusupdate)

#### Q: How do I fully automate Dialer campaigns (create, add leads, assign agents, start/stop)?

A: Use the **Campaigns API** to create and update a campaign, add and update contacts, assign agents and teams, then change status (`start`, `pause`, `stop`). Check out these endpoints:

* **Create campaign**: configure strategy (e.g., `simple`, `predictive_ai`), dialing level, caller IDs, *etc*.  See: [Developers – Create Campaign](https://developers.voiso.com/reference/createcampaign#/)
* **Update campaign**: modify settings as needed. See: [Developers – Update Campaign](https://developers.voiso.com/reference/updatecampaign#/)
* **Update campaign agents and teams**: assign agents and teams. See: [Developers – Update campaign agents and teams](https://developers.voiso.com/reference/updatecampaignagents#/)
* **Add contacts** / **Update contacts**: push or adjust leads while the campaign is live. See: [Developers – Add contacts](https://developers.voiso.com/reference/createcampaigncontacts#/) and [Developers – Update contacts](https://developers.voiso.com/reference/updatecampaigncontacts#/).
* **Change campaign status**: programmatically `start`, `pause`, or `stop`. See: [Developers – Change campaign status](https://developers.voiso.com/reference/changecampaignstatus#/).
* **List campaigns**: obtain a list of all your active campaigns and their current settings and statuses. See: 
[Developers – List campaigns](https://developers.voiso.com/reference/listcampaigns#/)

#### Q: How do I pull messages (and later transcripts) for a digital conversation?

A: Use **Get conversation messages** (WhatsApp, Webchat, Telegram, Viber) and correlate with CDR for analytics.
See: [Developers – Get conversation messages](https://developers.voiso.com/reference/listconversationmessages)

#### Q: What’s the API to export Call Detail Records (CDR) to my data warehouse?

A: Use **List CDRs** with date/agent/queue/campaign filters and paginate through results.
See: [Developers – List CDRs](https://developers.voiso.com/reference/listcdrs)

:::(Info) (Tip)
If you use Amazon Web Services Simple Queue Service, you can use the **Raw Data Streaming to SQS** integration to replicate your CDR data to AWS SQS. See: [Raw Data Streaming to SQS](https://developers.voiso.com/reference/raw-data-streaming-to-sqs#/)
:::

#### Q: Can Voiso push events to my app instead of polling?

A: Yes. Subscribe to **Webhooks** (call events, digital interactions, agent status, recordings, analytics). Use **retrigger** to redeliver failed events.
See: [Developers – Webhooks overview](https://developers.voiso.com/reference/webhooks-overview), [Developers – Webhook failures](https://developers.voiso.com/reference/listwebhookfailures#/), and [Developers – Webhook Retrigger](https://developers.voiso.com/reference/webhook-retrigger-description).

#### Q: How do I send SMS messages programmatically?

A: Use the **Send SMS** endpoint for text messages. You can also retrieve a list of available **SMS templates** to ensure the content you send is permitted by your organization.
See: [Developers – Send SMS](https://developers.voiso.com/reference/createsms#/) and [Developers – SMS templates](https://developers.voiso.com/reference/listsmstempaltes#/).

#### Q: How do I send WhatsApp messages programmatically?

A: Use the **Send WhatsApp messages** endpoint for WhatsApp messages. **Note:** (templates must be used). To retrieve a list of available templates, use the **List WhatsApp templates** endpoint.
See: [Developers – Send WhatsApp messages](https://developers.voiso.com/reference/sendwhatsappmessages#/) and [Developers – List WhatsApp templates](https://developers.voiso.com/reference/listwhatsapptemplates#/).

#### Q: Where do I find error codes and response schemas?

A: In the developer portal per-endpoint, or download/import the **OpenAPI YAML** into Postman/Swagger for a consolidated view.
See: [Developers – Error Codes](https://developers.voiso.com/reference/error-codes#/) and [Developers – Downloading the Contact Center API YAML file](https://developers.voiso.com/reference/downloading-the-contact-center-api-yaml-file#/)

#### Q: How can I check my organization’s current balance via API?

A: Call the **Get balance** endpoint using a contact-center–scoped API key.
See: [Developers – Get balance](https://developers.voiso.com/reference/showcallcenterbalance#/)

#### Q: What base URL should I call, and which key should I use?

A: Use your cluster base URL `https://{cluster_id}.voiso.com` with a **contact-center API key** for admin-scoped operations.
See: [Developers – Base endpoint](https://developers.voiso.com/reference/base-endpoint) and [Developers – Authentication](https://developers.voiso.com/reference/authentication#/).

## Webhooks

#### Q: How can I trigger external workflows or sync data when calls are completed?

A: Voiso supports **Webhooks**, which let you send real-time event data—such as call completions, transcript availability, or agent actions—to your own systems or services. You can configure endpoints and subscribe to specific event types under **Administration > Webhooks**.

This is ideal for automating workflows, syncing CRM records, or feeding call data into analytics platforms.

See: [Webhooks](/v1/docs/administration-webhooks)  
See also: [Webhooks Overview (Developer)](https://developers.voiso.com/reference/webhooks-overview)

#### Q: What happens if a webhook fails to deliver?

A: If a webhook event fails to deliver (e.g., due to a timeout or error response), Voiso retries the event automatically using a backoff strategy. You can view failed events and re-trigger them manually using the Webhook Retry API.

See: [Webhooks](/v1/docs/administration-webhooks)  
See also: [Webhook Retry API](https://developers.voiso.com/reference/retrigger-failed-webhook)

#### Q: How can I get notified when Speech Analytics data is ready?

A: Subscribe to the `call.analytics.available` webhook event to receive real-time notifications when transcripts, scores, and summaries are available for a recorded call. This is useful for triggering post-call workflows or syncing analytics to external systems.

See: [Webhooks](/v1/docs/administration-webhooks)  
See also: [Webhooks Overview (Developer)](https://developers.voiso.com/reference/webhooks-overview)


:::(Info) (More help)
Still have questions? Contact support or explore our other [FAQ topics](/v1/docs/faq).
:::
