--- 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 **Who should read this article**: API Developers This article contains a list of common questions with answers that link to articles where the information is documented. 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) 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) More help Still have questions? Contact support or explore our other [FAQ topics](/v1/docs/faq).