- Brand
- Allo
- Category
- Sales & CRM
- Primary Subcategory
- AI Voice Agents & Contact Center
Integration details
Description
Connect Allo's AI phone system to ChatGPT. Search and manage conversations, SMS, contacts, notes, tags, team comments, analytics, dialing queues, call routing, summary templates, AI agents, and calendars using the permissions of your connected Allo account.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- AI Voice Agents & Contact Center
- Secondary Subcategories
- None listed
- Brand
- Allo
- Access
- Account required
- First tracked
- 2026-10-10
- Tool count
- 52
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Allo
Get updates when Allo’s Discoverability Score or category rank changes.
Competing in ChatGPT AI Voice Agents & Contact Center
View Category52 tools agents can invoke
Give the AI receptionist a website to answer callers from. Allo queues a crawl of the site starting at this URL and stores it as one knowledge source in the team's knowledge library, so this is how a business's existing menu, price list, FAQ or opening-hours pages become something the receptionist can answer with — better than retyping any of it into knowledge_text. The call returns right away; the content becomes searchable once indexing finishes, and a crawl that fails (a login wall, a paywall) is not reported back here, so if the receptionist still cannot answer later, put the facts into allo_update_agent's knowledge_text instead. A URL this line already has is rejected; one another line of the team already added is linked rather than crawled again. Read the current ones under knowledge.websites in allo_get_agent. Uploading a document is still Allo-app-only.
allo_add_agent_knowledge_website
Add one or more tags to a call. Pass tag keys (not display names) — use allo_list_tags to find keys. Returns 409 TAG_ALREADY_EXISTS if already applied.
allo_add_call_tags
Add a comment to an existing thread. To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_add_thread_comment
Append one or more phone numbers to the current user's dialing queue (power dialer). Creates the queue if it doesn't exist yet. Optional contact metadata (name, company, etc.) is used to enrich CRM records. Pass `user_id` or `email` to target another team member's queue (assignee must be on the same team — otherwise ASSIGNEE_NOT_FOUND). Returns { added, skipped } — skipped items include a reason (INVALID_PHONE_NUMBER, INVALID_CONTACT_DATA). Server-side limits: 1000 numbers per queue (returns DIALING_QUEUE_LIMIT_REACHED if exceeded); duplicates rejected with DIALING_QUEUE_APPEND_CONFLICT.
allo_add_to_dialing_queue
Fetch up to 100 conversation items in a single request. PREFER THIS over allo_get_conversation_item when you need multiple items — it is faster and uses fewer API calls. Supports extend=transcript to include call transcripts. Items not found are silently omitted.
allo_batch_get_conversation_items
Search or get CRM records (people, companies, deals). Pass an 'id' to get a single record, or omit it to search/list. Supports full-text search, structured filters, sorting, and pagination.
allo_crm_search
Create a note on a person's CRM profile. To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_create_contact_note
Create an internal team note on a conversation (visible to the team only, never sent to the contact). To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_create_conversation_note
Create a call summary template for the team. The template controls how AI-generated call summaries are structured. Provide a name, optional call context (background that helps the AI), an optional icon (emoji), and up to 10 ordered sections.
allo_create_summary_template
Start a discussion thread on a call, SMS, or conversation note, with a first comment. Each item can have only one thread — a 409 THREAD_ALREADY_EXISTS means one exists; find it with allo_find_thread and comment instead. To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_create_thread
Permanently remove one knowledge source — a website or an uploaded document — from the team's knowledge library, which takes it away from every line of the team, not only this one. What was read from it is deleted with it, so a website has to be crawled again from scratch to come back and a document can only be restored by uploading it again in the Allo app. Only works through a line that uses the source. Confirm with the user before calling this; to take a website out of use for this line only, disable it with allo_set_agent_knowledge_website_status instead. Get the id from knowledge.websites or knowledge.files in allo_get_agent.
allo_delete_agent_knowledge
Delete a note from a person's CRM profile. Only the note's author can delete it.
allo_delete_contact_note
Delete a conversation note. Only the note's author can delete it (403 NOT_NOTE_AUTHOR otherwise).
allo_delete_conversation_note
Delete a call summary template by its id. This is a soft delete: the template is deactivated and no longer used for new summaries. Returns nothing on success.
allo_delete_summary_template
Find the thread attached to a conversation item (each item has at most one thread). entity_id is the item's id: cll- for calls, msg- for SMS, not- for conversation notes. Returns an empty list when the item has no thread yet.
allo_find_thread
Read the whole AI receptionist configuration of an Allo phone line in one call: business details, voice and language, prompt sections, capabilities, business hours, transfer rules, connected scheduling calendars and knowledge sources. Call this before allo_update_agent — that tool replaces whole collections, so you need the current state to avoid dropping configuration you did not mean to touch.
allo_get_agent
Get one connected calendar and the event types its provider currently offers — the catalog to pick from when filling allo_update_agent's scheduling.calendars. available_event_types is read live from the provider; it is null for a provider that has no event-type concept, which is not the same as an empty list. Each entry's required_questions are answers the provider rejects a booking without, so the receptionist collects them during the call; they are read-only and snapshotted when you select the event type.
allo_get_calendar
Get the call flow (inbound call routing) configured for an Allo phone number. Returns the published flow by default, or the working draft with status='draft'. The response includes `lock_version` (pass it back when saving a draft), `status` (DRAFT | PUBLISHED | SYNTHESIZED), and `definition` — the routing tree (camelCase keys, rooted at `entry_node_id`). A SYNTHESIZED status means the number has no saved flow yet and this is an in-memory view of its legacy IVR. Requires the PHONE_NUMBERS_READ scope. Use allo_list_numbers to find numbers.
allo_get_call_flow
Get full details of a single call or SMS. Call IDs start with cll-, message IDs with msg-. Use extend=transcript to include the full call transcript.
allo_get_conversation_item
Get a single conversation note by its id.
allo_get_conversation_note
Get the current user's dialing queue (the power dialer queue). Returns queue settings (voicemail_handling, do_not_disturb) and the ordered list of numbers, each with its position, call state (call_id, routing_result, sync_status, voicemail_left), and timestamps. Returns 404 DIALING_QUEUE_NOT_FOUND if no queue exists yet — calling allo_add_to_dialing_queue auto-creates one.
allo_get_dialing_queue
Returns your API key's scopes, available endpoints, team info, and rate limits. Call this first to discover what you can do.
allo_get_me
Get a single call summary template by its id. Returns the template's name, icon, call_context, and ordered sections.
allo_get_summary_template
Get a discussion thread by id, including all its comments. Threads are team discussions attached to a call, SMS, or conversation note.
allo_get_thread
List the calendars connected to the workspace that you can see, whether or not any AI receptionist books on them. Returns each calendar's id, name, provider, status, whether it is the team default, and its owner. The id is what allo_update_agent's scheduling.calendars map is keyed by. Connecting a new calendar is an OAuth flow that only the Allo app can do — this lists what is already connected.
allo_list_calendars
List the notes on a person's CRM profile. person_id is the id returned by allo_crm_search for people (starts with per-).
allo_list_contact_notes
List the internal team notes on a conversation (notes are private to the team, never sent to the contact). contact_number is the contact's phone number, allo_number is the Allo line/inbox.
allo_list_conversation_notes
List conversations grouped by contact number, sorted by most recent activity. allo_number is required — it filters to a specific Allo phone line/inbox. Use allo_list_numbers to find available numbers. Use last_activity_since for incremental sync. Use unread=true to find unread conversations.
allo_list_conversations
List all Allo phone numbers and sender IDs with their capabilities (VOICE, SMS, MMS), country, and assigned team members.
allo_list_numbers
List the team's call summary templates. A summary template defines how AI-generated call summaries are structured (name, call context, and ordered sections). Returns each template's id, name, icon, call_context, and sections.
allo_list_summary_templates
List all tags configured on the team. Returns tag keys, display names, and colors. Use tag keys when adding tags or filtering searches.
allo_list_tags
List all team members with their roles and status. Use the user ID from results to filter conversations by user_id in search. Use allo_list_numbers to see phone number assignments.
allo_list_users
List the voices an AI receptionist can speak with — the same catalog the Allo app offers. Each voice's id is what allo_update_agent's voice_id takes, and a voice speaks the language it is listed under, so pick one matching the receptionist's language. demo_url is an audio sample you can offer the user to listen to before choosing.
allo_list_voices
Mark a conversation as read, unread, archived, or unarchived. allo_number scopes the action to a specific Allo phone line/inbox — omit to apply across all lines. All actions are idempotent.
allo_mark_conversation
Get outbound call metrics: dial funnel, time series, heatmap, and leaderboard with per-user/per-number breakdown. Pass multiple user_ids or allo_numbers in a single call to compare them — results include individual breakdowns. Cannot combine user_ids and allo_numbers. Use extend=items with a stage to drill into the actual calls behind the funnel numbers. Tags define what counts as a conversion.
allo_get_team_outbound_analytics
Remove a tag from a call. Returns 404 TAG_NOT_FOUND if the tag is not on the item.
allo_remove_call_tag
Mark a thread as resolved, or reopen it. Resolving signals the discussion is settled; it stays readable and can be reopened.
allo_resolve_thread
Save the working draft of an Allo phone number's call flow. The draft changes NOTHING about live call routing — it is a proposal. You cannot publish it: publishing is a human action, and there is no publish tool. The response includes `confirmation_url`, a link to the draft in the Allo app where a signed-in user reviews the flow and publishes it; always give that link to the user verbatim and tell them the change is not live until they publish it there. Pass the full `definition` routing tree (fetch the current one first with allo_get_call_flow to see the expected structure). Optimistic concurrency: pass the `lock_version` from the draft you read to guard against a concurrent edit, and `base_published_version` to detect a publish that happened mid-edit. Requires the PHONE_NUMBERS_WRITE scope.
allo_save_call_flow_draft
Search and filter calls and SMS across all conversations. allo_number filters to a specific Allo phone line/inbox — omit to search across all lines. Supports keyword search across transcripts, summaries, and SMS content. Terms are AND'd with prefix matching. Use sort=RELEVANCE for keyword searches. To count results, set size=1 and read pagination.total_count. Use contact_number to get all interactions with a specific contact.
allo_search_conversation_items
Send an SMS message from an Allo phone number or a Sender ID. Use exactly one of allo_number or allo_sender_id. Use allo_list_numbers to find available numbers/sender IDs and check capabilities. Phone numbers must be E.164 format.
allo_send_sms
Write the AI receptionist's prompt for an Allo phone line — what it is trying to achieve, who it is, how it handles the call. Read the resource allo-mcp://guides/ai-receptionist-prompt first and follow it: it is the format Allo's own prompt optimizer produces, and a prompt written any other way reads worse on a live call. In short: never restate what the platform already handles for you (greeting, closing, language switching, contact-data confirmation, transfer and booking mechanics, call ending, tone) — but always keep the business's own rules about when those are allowed. Facts (hours, prices, policies, FAQs) belong in allo_update_agent's knowledge_text, not here. This replaces the whole prompt: read the current sections with allo_get_agent and send them all back, including the ones you are not changing. Send every section the business gave you, not only the three the API enforces — a receptionist with no 'prohibited' section was never told what it must not say. The result carries a setup_hints list naming any that are missing.
allo_set_agent_prompt
Turn the AI receptionist on or off for an Allo phone line. ACTIVE means the receptionist answers incoming calls; FORWARDING means it does not and calls ring the Allo app or the business phone as before. This reprograms how a live phone line routes real calls, so always confirm with the user before calling it — never flip it as a side effect of configuring something else. Configure the receptionist fully (allo_update_agent, allo_set_agent_prompt) before switching it on.
allo_set_agent_status
Turn one of the team's knowledge websites on or off for this line's receptionist. DISABLED keeps the site and what was read from it but stops this line answering from it; ACTIVE puts it in use, including a website another line of the team added (knowledge.websites lists the whole team library, and the ones this line does not use read DISABLED). Only this line changes. Prefer this over deleting when the user wants a site out of the way. Get the id from knowledge.websites in allo_get_agent.
allo_set_agent_knowledge_website_status
Set (or clear) the default summary template for an Allo phone number. New calls on that number are summarized with this template. Pass the phone number in E.164 format and the summary template id. Omit summary_template_id (or pass null) to clear the default. Use allo_list_numbers to find numbers and allo_list_summary_templates to find template ids.
allo_set_number_default_summary_template
Report a problem with Allo to the Allo team: a tool that errored or returned wrong data, a misleading description or doc page, or something you needed that no tool can do. Needs no scope. Include the tool name and the request_id from the error when you have them. Tell the user you sent it.
allo_submit_feedback
Get team-wide KPIs: total calls, talk time, answer rate with per-user/per-number breakdown. Include compare_date to see period-over-period change. Pass multiple user_ids or allo_numbers in a single call to compare them — results include individual breakdowns. Cannot combine user_ids and allo_numbers.
allo_get_team_analytics
Configure the AI receptionist of an Allo phone line. Everything except the prompt is set here. When setting a receptionist up rather than tweaking one field, read the resource allo-mcp://guides/ai-receptionist-setup first — it gives the order to do it in, the questions to ask the user, and the parts they still have to do themselves in the Allo app (connecting a calendar over OAuth, uploading knowledge documents). Two different merge rules apply: single values (name, business details, language, voice_id, greeting_message, closing_message, tone_of_voice, answer_type, knowledge.text) are merged — omit one and it keeps its current value — while capabilities, business_hours and transfer_rules are complete sets: send one and it replaces what was configured, send none and it is left alone. So to add a single transfer rule, read the existing ones with allo_get_agent and send them back together with the new one. This does not turn the receptionist on or off, and it cannot change the prompt (allo_set_agent_prompt) or its knowledge websites and files (allo_add_agent_knowledge_website, allo_delete_agent_knowledge).
allo_update_agent
Update the editable summary of a call. Pass the call ID and the new content. If the call has multiple summary templates, pass template_key to disambiguate. Returns the updated summary with its new version. Errors: SUMMARY_TEMPLATE_KEY_REQUIRED if multiple templates exist and none was specified, SUMMARY_TEMPLATE_NOT_FOUND if template_key has no summary.
allo_update_conversation_item_summary
Update a contact note's content. Only the note's author can edit it. To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_update_contact_note
Update a conversation note's content. Only the note's author can edit it (403 NOT_NOTE_AUTHOR otherwise). To @-mention a teammate, embed @[Name](usr-xxx) in the content — get user ids from allo_list_users. @[all](all) notifies the whole team. Mentioned teammates receive push/email notifications.
allo_update_conversation_note
Allo ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Allo's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Allo alternatives on ChatGPT?
As of 2026-10-10, Allo competes with Aira, Aiva, Autocalls AI, Autodial, Bland, Call Me, CALL-E, Canarics and 14 more in ChatGPT AI Voice Agents & Contact Center, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.