echowin integration
echowin is a self-serve builder of AI phone and chat agents. Through its public API an agent can list the team's AI agents and read or replace their instructions, read, search and edit their knowledgebases (Q&A references, uploaded documents, webpage sources and re-scrapes), read call logs and chat conversations with transcripts, manage CRM contacts (tags, notes, assignments, kanban boards, custom fields) and run outbound calling campaigns. Starting a campaign makes the agent place real phone calls that spend credits per minute; only call people who agreed to be called. Each knowledgebase search costs 1 credit. Call recording URLs, team members' profile pictures, internal contact and chat metadata, raw tool-call payloads, the undocumented link on contact notes and per-call cost and usage details are not returned, and agency subteam creation is not exposed. Rate limits per minute and per team: 100 reads, 60 writes, 30 knowledgebase searches, 10 bulk operations (429 with Retry-After beyond). Authentication is an API key sent in the X-API-Key header, created in the echowin portal under Build > Integrations > API Keys; an agency key may pass teamId to act on a client subteam.
Say what should happen.
The workflow builds itself.
What you can do with echowin
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.
Contact, 6 operations
bulk_create_contactsBulk create contactsPOSTCreates up to 100 contacts in one request; each needs a phone number and duplicates are skipped. Per-row failures (for example a missing required custom field) are reported without failing the whole batch.create_contactCreate contactPOSTCreates a CRM contact with optional custom fields, tags (existing ids or new names), an initial note, user assignments and board placements in one call. Custom-field values are checked against list_contact_custom_fields.delete_contactDelete contactDELETEPermanently deletes a contact along with its notes, assignments, and board placements. This cannot be undone. Rate limit: write (60 requests/minute).get_contactGet contactGETReturns one contact with tags, CRM stage, user assignments, and its 10 most recent notes, plus the team's custom-field schemas and available tags.list_contactsList contactsGETLists the team's contacts with tags, CRM stage and user assignments, plus the team's custom-field schemas and available tags. Supports free-text search, tag filtering and sorting; pages with page and limit.update_contactUpdate contactPUTPartially updates a contact: only the fields sent change. Custom-field values are merged (null or an empty string clears one); sending tagIds or tagNames replaces the whole tag set.
Reference, 6 operations
create_agent_knowledgebase_referenceCreate agent knowledgebase referencePOSTAdds a manually-authored question/answer pair to the agent's knowledgebase. An embedding is generated immediately so the reference is searchable right away.create_knowledgebase_referenceCreate knowledgebase referencePOSTAdds a manually-authored question/answer pair to the knowledgebase. An embedding is generated immediately so the reference is searchable right away.get_agent_knowledgebase_referenceGet agent knowledgebase referenceGETReturns a single question/answer reference from the agent's knowledgebase. Rate limit: standard (100 requests/minute).get_knowledgebase_referenceGet knowledgebase referenceGETReturns a single question/answer reference from the knowledgebase. Rate limit: standard (100 requests/minute).update_agent_knowledgebase_referenceUpdate agent knowledgebase referencePUTUpdates the question and/or answer of a reference in the agent's knowledgebase. When either field changes, the embedding is regenerated so search stays accurate.update_knowledgebase_referenceUpdate knowledgebase referencePUTUpdates the question and/or answer of a reference. When either field changes, the embedding is regenerated so search stays accurate. Rate limit: write (60 requests/minute).
Webpage, 6 operations
get_agent_knowledgebase_webpageGet agent knowledgebase webpageGETReturns a webpage source from the agent's knowledgebase, including the Q&A content extracted from the page. Rate limit: standard (100 requests/minute).get_knowledgebase_webpageGet knowledgebase webpageGETReturns a webpage source, including the Q&A content extracted from the page. Rate limit: standard (100 requests/minute).refresh_agent_knowledgebase_webpageRefresh agent knowledgebase webpagePOSTQueues a re-scrape of the webpage so its extracted content is rebuilt from the live page. Each webpage can be refreshed at most once per 24 hours.refresh_knowledgebase_webpageRefresh knowledgebase webpagePOSTQueues a re-scrape of the webpage so its extracted content is rebuilt from the live page. Each webpage can be refreshed at most once per 24 hours.update_agent_knowledgebase_webpageUpdate agent knowledgebase webpagePUTUpdates the display name, URL and/or notes of a webpage source in the agent's knowledgebase. Changing the URL does not re-scrape it: call refresh_agent_knowledgebase_webpage afterwards.update_knowledgebase_webpageUpdate knowledgebase webpagePUTUpdates the display name, URL, and/or notes of a webpage source. Changing the URL does not automatically re-scrape; call the refresh endpoint afterwards.
Board, 5 operations
add_contact_to_boardsAdd contact to boardsPOSTPlaces the contact on the given active kanban boards, keeping existing placements. Every board id must belong to the team and be active or the whole request is rejected.list_boardsList boardsGETReturns the team's active kanban boards with each board's custom-field schema and the number of contacts currently on it. Rate limit: standard (100 requests/minute).list_contact_boardsList contact boardsGETReturns the kanban boards the contact has been placed on, most recently added first, including each board's custom-field schema. Rate limit: standard (100 requests/minute).remove_contact_from_boardRemove contact from boardDELETERemoves a contact from one kanban board, leaving its other board placements untouched. To clear every placement, call replace_contact_boards with the boards to keep.replace_contact_boardsReplace contact boardsPUTReplaces the contact's full set of board placements with the given active kanban boards. Every board id must belong to the team and be active or the whole request is rejected.
Campaign, 5 operations
create_outbound_campaignCreate outbound campaignPOSTCreates an outbound calling campaign for one agent, optionally with its first 100 people. It does not call anyone yet: add more with add_outbound_campaign_contacts, then start_outbound_campaign. Needs outbound calling enabled.get_outbound_campaignGet outbound campaignGETReturns one campaign with its status, calling hours and how many contacts are pending, being called, completed, failed or cancelled. Poll it to follow progress.list_outbound_campaignsList outbound campaignsGETReturns the team's outbound campaigns, newest first, each with its status, calling hours and how many contacts are at each status. Archived campaigns are left out.pause_outbound_campaignPause outbound campaignPOSTPauses a campaign for real: stops dialing new contacts; a call already in progress finishes. Start the campaign again with start_outbound_campaign to resume where it left off.start_outbound_campaignStart outbound campaignPOSTStarts or resumes a campaign for real: the agent phones its pending contacts one at a time, inside calling hours, from its own number. Each call spends credits per minute at the outbound rate. Only call people who agreed.
Document, 4 operations
get_agent_knowledgebase_documentGet agent knowledgebase documentGETReturns an uploaded document from the agent's knowledgebase, including the Q&A content extracted from it. Rate limit: standard (100 requests/minute).get_knowledgebase_documentGet knowledgebase documentGETReturns an uploaded document, including the Q&A content extracted from it. Rate limit: standard (100 requests/minute).update_agent_knowledgebase_documentUpdate agent knowledgebase documentPUTUpdates the display name and/or notes of an uploaded document in the agent's knowledgebase. The file itself cannot be changed via the API. Rate limit: write (60 requests/minute).update_knowledgebase_documentUpdate knowledgebase documentPUTUpdates the display name and/or notes of an uploaded document. The file itself cannot be changed via the API. Rate limit: write (60 requests/minute).
Knowledgebase, 4 operations
get_agent_knowledgebaseGet agent knowledgebaseGETReturns the knowledgebase assigned to the agent, including its webpage sources, uploaded documents, and manually-created Q&A references.get_knowledgebaseGet knowledgebaseGETReturns a knowledgebase with its webpage sources, uploaded documents, and manually-created Q&A references. Knowledgebase ids are discoverable via list_agents.search_agent_knowledgebaseSearch agent knowledgebaseGETSemantic search across the agent's knowledgebase; returns the best-matching Q&A references with similarity scores. Each search spends 1 credit from the team's balance.search_knowledgebaseSearch knowledgebaseGETSemantic search across a knowledgebase; returns the best-matching Q&A references with similarity scores. Each search spends 1 credit from the team's balance.
Assignment, 3 operations
add_contact_assignmentsAdd contact assignmentsPOSTAdds the given team members to the contact's assignments, keeping existing assignments. Every user id must belong to the team or the whole request is rejected.list_contact_assignmentsList contact assignmentsGETReturns the team members assigned to a contact, most recently assigned first. Rate limit: standard (100 requests/minute).replace_contact_assignmentsReplace contact assignmentsPUTReplaces the contact's full assignment list with the given team members. Every user id must belong to the team or the whole request is rejected.
Call, 2 operations
get_callGet callGETReturns one call with its full transcript, activity timeline, the memory the agent captured and analysis metadata (sentiment, call quality, technical issues). Recording URLs and tool-call payloads are not returned.list_callsList callsGETLists the team's call logs (newest first by default) with transcripts and summaries, filterable by direction, agent, duration, date range and free-text search over numbers, transcripts and summaries. Pages with page and limit.
Campaign contact, 2 operations
add_outbound_campaign_contactsAdd outbound campaign contactsPOSTAdds up to 100 people per request to a campaign that is not running (at most 5000 per campaign) and saves each as a contact. Invalid, repeated, already-added and do-not-call numbers are skipped and reported by index.list_outbound_campaign_contactsList outbound campaign contactsGETReturns the people in a campaign in calling order, each with their status, why a call failed (e.g. `unreachable`), their custom fields and the calls placed to them.
Chat, 2 operations
get_chatGet chatGETReturns one conversation (web or web-agent chat, voice-widget session or WhatsApp thread) with its full transcript and activity timeline. Tool-call payloads and channel metadata are not returned.list_chatsList chatsGETLists chat conversations for one channel (web widget, web agent, voice widget or WhatsApp; default web) with transcripts, filterable by agent, date range and transcript text. Pages with page and limit.
Instruction, 2 operations
get_agent_instructionsGet agent instructionsGETReturns the current natural-language instructions (system prompt) for one agent. Rate limit: standard (100 requests/minute).update_agent_instructionsUpdate agent instructionsPUTReplaces the agent's whole instructions (system prompt) for real; upcoming conversations use the new text. The previous version is kept in the agent's instruction history (last 20 versions).
Note, 2 operations
create_contact_noteCreate contact notePOSTAdds a note to a contact. Notes carry a severity type (GENERAL, INFO, WARNING, DANGER) used for display in the CRM. Rate limit: write (60 requests/minute).list_contact_notesList contact notesGETReturns all notes attached to a contact, newest first, with the profile of each note's creator when available. Rate limit: standard (100 requests/minute).
Tag, 2 operations
create_tagCreate tagPOSTCreates a contact tag. Tag names are unique per team; creating a duplicate name responds 400. Rate limit: write (60 requests/minute).list_tagsList tagsGETReturns the team's contact tags in alphabetical order with the number of contacts carrying each tag. Rate limit: standard (100 requests/minute).
Account, 1 operation
get_current_identityGet current identityGETReturns the team the API key belongs to, whether it owns an agency (so teamId can be passed), the team's credit balance and its subscription. A good first call to check the key works.
Agent, 1 operation
list_agentsList agentsGETReturns every AI agent belonging to the authenticated team, newest first, with the knowledgebase each agent is linked to.
Custom field, 1 operation
list_contact_custom_fieldsList contact custom fieldsGETReturns the team's active custom-field definitions in display order. Use the returned field names as keys inside `customFields` when creating or updating contacts.
Use echowin from Claude Code, Cursor or Codex
Connect echowin in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its echowin 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 echowin
- Create your workspace
Sign up free. Nothing to install.
- Connect echowin once
Add your echowin 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.
echowin integration FAQ
What can you do with the echowin integration?
LiveContext exposes 54 operations on echowin, covering contact, reference, webpage and board.
