Hamsa integration
Hamsa is an Arabic-first voice AI platform. Generate Arabic (many dialects) or English speech, transcribe media and turn transcripts into summaries, articles and social posts, browse and clone voices, build voice agents with knowledge bases and pronunciation dictionaries, place outbound calls and calling campaigns, manage phone numbers, and read call records, logs and analytics. Calls and campaigns ring real people and cost money; call records are personal data. Left out: web tools, their collections and project secrets (they carry credentials), adding a phone number (it takes a Twilio token or SIP password), streamed and base64 real-time audio, TTS history, jobs that need the key in the body, and deprecated v1 agent routes. Authentication is a Hamsa API key (Settings, API Keys) sent as 'Authorization: Token <key>'.
Say what should happen.
The workflow builds itself.
What you can do with Hamsa
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Campaign, 5 operations
create_campaignCreate campaignPOSTCreates an outbound calling campaign: a voice agent calls every recipient from your phone number, now or at a scheduled date, within the allowed days and hours. Places real phone calls to real people.delete_campaignDelete campaignDELETEDeletes a campaign (Hamsa marks it as deleted).get_campaignGet campaignGETReturns one campaign with its settings and its recipients grouped by status (pending, queued, in progress, completed, failed, no answer), with attempts and errors. Personal data.list_campaignsList campaignsGETLists your outbound calling campaigns with their status, schedule, calling window and number of recipients, optionally for one voice agent or matching a name or id.rename_campaignRename campaignPATCHRenames a campaign; no other setting can be changed.
Job, 4 operations
delete_jobDelete jobDELETEDeletes a job.get_job_resultGet job resultGETReturns a job with its status, cost, usage time, media URL and, once completed, its result (jobResponse: the transcript, the generated audio or the AI content). Use it to read the outcome of start_transcription or start_text_to_speech_job.list_jobsList jobsGETLists the project's transcription or AI content jobs page by page (title, media URL and type, cost, status), sorted and optionally filtered by status or text.rename_jobRename jobPATCHRenames a job.
Knowledge base, 4 operations
create_knowledge_base_itemsCreate knowledge base itemsPOSTAdds knowledge base items that voice agents answer from: TEXT (content of 50 to 5000 characters), URL (itemUrls, up to 100 web pages) or FILE (itemUrl to a PDF, DOCS, DOC, TXT, HTML or EPUB file).delete_knowledge_base_itemDelete knowledge base itemDELETEDeletes a knowledge base item. Refused while the item is active in a voice agent: deactivate it first with set_knowledge_base_item_active.get_knowledge_base_itemGet knowledge base itemGETReturns one knowledge base item: name, type, processing status and failure reason, content or URLs, size, word count and whether a voice agent uses it.rename_knowledge_base_itemRename knowledge base itemPATCHRenames a knowledge base item.
Voice, 4 operations
create_cloned_voiceCreate cloned voicePOSTCreates a cloned voice from a sample recording: give its public URL, its exact transcription, a name, the language (and dialect for Arabic) and two tags (a gender and a style). Clone only a voice you are authorized to use.delete_voiceDelete voiceDELETEDeletes a voice.get_voiceGet voiceGETReturns one voice: name, language, dialect, tags, audio sample URL, avatar and whether it is a favourite or used by jobs or voice agents.list_voicesList voicesGETLists text-to-speech voices page by page, for media jobs (source jobs) or voice agents (source voice_agents), filtered by name, gender, language, style, dialect, owner, favourite or recent use. Each voice has an audio sample URL.
Voice agent, 4 operations
create_voice_agentCreate voice agentPOSTCreates a voice agent: a phone or web assistant that talks with callers using a prompt or a flow graph, a voice, an LLM, call settings, knowledge base items, pronunciation dictionaries and an optional phone number.get_voice_agentGet voice agentGETReturns one voice agent with its full configuration: conversation, voice, LLM settings, call settings, knowledge base and dictionary ids, phone number and flow graph.list_voice_agentsList voice agentsGETLists voice agents page by page with their full configuration (conversation, voice, LLM settings, call settings, knowledge base and dictionary ids, phone number), filtered by name, type or language.update_voice_agentUpdate voice agentPATCHUpdates a voice agent. Nested settings (conversation, voice, llm, callSettings) are merged; knowledge base and dictionary id lists replace the current ones; workflow nodes, edges and variables are each replaced when given.
Voice dictionary, 4 operations
create_voice_dictionaryCreate voice dictionaryPOSTCreates a pronunciation dictionary: words with the way a voice agent should pronounce them.delete_voice_dictionaryDelete voice dictionaryDELETEDeletes a pronunciation dictionary permanently.get_voice_dictionaryGet voice dictionaryGETReturns one pronunciation dictionary with all its words and pronunciations.update_voice_dictionaryUpdate voice dictionaryPATCHRenames a pronunciation dictionary or replaces its words.
List, 3 operations
list_knowledge_base_itemsList knowledge base itemsGETLists knowledge base items with their type, processing status, size and usage, filtered by agent, activity, type, status, file extension or name, and sorted.list_phone_numbersList phone numbersGETLists your phone numbers with their label, provider (TWILIO or SIP), SIP routing settings and assigned voice agent, optionally for one agent or provider.list_voice_dictionariesList voice dictionariesGETLists your pronunciation dictionaries with their word count and whether a voice agent uses them, filtered by name, usage or agent.
Ai content, 2 operations
create_ai_contentCreate ai contentPOSTGenerates AI content from a completed transcription job: any of introduction, titles, summary, SEO web article, key topics, keywords, FAQ and social posts (Facebook, LinkedIn, X thread, Threads, YouTube description).get_ai_contentGet ai contentGETReturns an AI content job with its status, cost and, once completed, the generated parts (summary, titles, keywords, FAQ, social posts and the others requested).
Log, 2 operations
get_call_logGet call logGETReturns one call log entry: level (ERROR, WARNING, INFO or DEBUG), category, message, payload and time.list_call_logsList call logsGETLists the log entries of one call (level, category, message, payload, time), to understand what happened during it.
Phone number, 2 operations
delete_phone_numberDelete phone numberDELETERemoves a phone number from your Hamsa account.get_phone_numberGet phone numberGETReturns one of your phone numbers: number, label, provider (TWILIO or SIP), SIP routing settings and the voice agent it is assigned to.
Toggle activation, 2 operations
set_knowledge_base_item_activeSet knowledge base item activePOSTActivates a knowledge base item for a voice agent, so the agent answers from it, or deactivates it (isActive false).set_voice_dictionary_activeSet voice dictionary activePOSTActivates a pronunciation dictionary for a voice agent, or deactivates it (isActive false).
Url, 2 operations
add_knowledge_base_urlAdd knowledge base urlPOSTAdds a web page URL to an existing URL-type knowledge base item, which Hamsa then processes.remove_knowledge_base_urlRemove knowledge base urlDELETERemoves one web page URL from a URL-type knowledge base item.
All, 1 operation
search_jobsSearch jobsPOSTLists the project's jobs of every type (transcription, translation, text to speech, AI content) with search, a status or type filter, sorting and offset paging.
Assign number, 1 operation
assign_phone_numberAssign phone numberPOSTAssigns one of your phone numbers to a voice agent, which then answers calls to that number.
By api key, 1 operation
get_projectGet projectGETReturns the Hamsa project the API key belongs to (id, name, creation date). Its data.id is the projectId that many other tools require.
Call, 1 operation
start_outbound_callStart outbound callPOSTPlaces a real phone call: the voice agent calls toNumber from one of your phone numbers and talks with the person who answers. Returns the call jobId. Calls cost money and reach a real person.
Cancel, 1 operation
cancel_campaignCancel campaignPOSTCancels a running or scheduled campaign so no further calls are placed. A cancelled campaign cannot be restarted.
Chart, 1 operation
get_usage_chartGet usage chartGETReturns the project's usage over time for a period: cost, requests, transcription and tokens, each as a list of dated values with a unit.
Clone, 1 operation
clone_voice_agentClone voice agentPOSTCreates a copy of a voice agent, one of yours or one of Hamsa's ready-made templates, optionally under a new name, and returns the new agent.
Conversation, 1 operation
get_conversationGet conversationGETReturns one call: status, duration, channel, caller number, recording URL, result and analysis, detailed logs and performance metrics. Personal data (the caller's number and what was said).
Current, 1 operation
get_default_voiceGet default voiceGETReturns the project's default text-to-speech voice for the current language, with its name, dialect, tags and audio sample URL.
Custom, 1 operation
create_custom_ai_contentCreate custom ai contentPOSTGenerates custom AI content from a completed transcription job: each part has a title, a language (ar or en) and your own prompt. Give webhookUrl to receive the result when it is ready.
Dialect, 1 operation
list_dialectsList dialectsGETLists the Arabic dialects available for text-to-speech voices, with their id, name and language code; the id is the dialectId other voice tools take.
Estimate, 1 operation
estimate_ai_content_costEstimate ai content costGETReturns the estimated cost of generating AI content from a transcription job, before you run create_ai_content.
Export, 1 operation
export_conversationsExport conversationsGETExports a voice agent's calls for a period, optionally one status, as an Excel file. Personal data.
Extract transcription, 1 operation
transcribe_voice_sampleTranscribe voice samplePOSTTranscribes a voice sample recording and returns the text, to use as audioTranscription when cloning or previewing a voice.
Favourite, 1 operation
set_voice_favouriteSet voice favouritePOSTMarks a voice as favourite, or removes the mark, for quicker filtering in list_voices.
Minimal list, 1 operation
list_callsList callsGETLists voice agent calls page by page with status, agent, duration, channel and the phone numbers involved; filter by agent, statuses and a time range in UTC epoch milliseconds. Personal data.
Number, 1 operation
get_usage_statisticsGet usage statisticsGETReturns the project's usage totals for a period: tokens, transcription time, price and request count, each with its unit.
Overview, 1 operation
get_overview_analyticsGet overview analyticsGETReturns call volume analytics for one voice agent or all: live and total sessions, average and total duration, messages per session, transfers to a human, calls over time and by duration.
Pause, 1 operation
pause_campaignPause campaignPOSTPauses a running or scheduled campaign; resume_campaign continues it.
Performance, 1 operation
get_performance_analyticsGet performance analyticsGETReturns latency analytics for one voice agent or all: average speech recognition, LLM and speech generation times, overall latency and the share of sessions with errors.
Preload, 1 operation
preload_cloned_voicePreload cloned voicePOSTLoads a cloned voice so generate_speech and start_text_to_speech_job can use it as speaker or voiceId. Needed once per voice; doing it at start-up lowers latency.
Preview, 1 operation
preview_cloned_voicePreview cloned voicePOSTGenerates a short preview clip of a voice that would be cloned from a sample recording, speaking your text, and returns the clip's URL. Nothing is saved; create_cloned_voice saves the voice.
Resume, 1 operation
resume_campaignResume campaignPOSTResumes a paused campaign, which goes on placing its calls.
Retry, 1 operation
retry_campaignRetry campaignPOSTCalls again the recipients of a campaign whose call failed or went unanswered. Places real phone calls.
Satisfaction, 1 operation
get_satisfaction_analyticsGet satisfaction analyticsGETReturns satisfaction analytics for one voice agent or all: NPS, CSAT, sentiment split, first call resolution and escalation rate, as percentages.
Size info, 1 operation
get_knowledge_base_sizeGet knowledge base sizeGETReturns the total size of your knowledge base items and the size limit of your plan, both in bytes.
Terminate, 1 operation
terminate_conversationTerminate conversationGETEnds a call that is in progress or pending, hanging up on the person on the line.
Text to speech, 1 operation
start_text_to_speech_jobStart text to speech jobPOSTStarts a text-to-speech job with a voice and returns the job, whose jobResponse carries the generated audio file once it completes. Give webhookUrl to receive the result. A cloned voice must be loaded first with preload_cloned_voice.
Transcribe, 1 operation
start_transcriptionStart transcriptionPOSTStarts a transcription job for an audio or video URL (Arabic or English) and returns its jobId. The job runs in the background: read the result with get_job_result, or give webhookUrl to receive it.
Tt, 1 operation
generate_speechGenerate speechPOSTConverts text to speech in one call and returns the WAV audio as a file. Choose a speaker voice that fits the dialect (Arabic dialects or English); a cloned voice must be loaded first with preload_cloned_voice.
Unassign, 1 operation
unassign_phone_numberUnassign phone numberPOSTDetaches a phone number from the voice agents it is assigned to.
View, 1 operation
get_jobGet jobGETReturns one transcription or AI content job: title, type, status, cost, model, source media URL and creation details.
Use Hamsa from Claude Code, Cursor or Codex
Connect Hamsa in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Hamsa operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Hamsa
- Create your workspace
Sign up free. Nothing to install.
- Connect Hamsa once
Add your Hamsa connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Hamsa integration FAQ
What can you do with the Hamsa integration?
LiveContext exposes 70 operations on Hamsa, covering campaign, job, knowledge base and voice.
