Set up Hey Quad with an AI app

Owners and admins can connect ChatGPT, Claude or another AI app to the Org Admin connector to help set Hey Quad up. Turn it on, connect, what it can change, what waits for approval, and what only a person can do in Hey Quad.

Updated October 30, 20264 min readFor owners and admins

The Org Admin connector lets an AI app help set Hey Quad up for your organization: how the CRM is organized, call flows, the AI receptionist, routing and the phone system. It's separate from the Business connector that everyone uses for everyday work, and it's off until an admin turns it on.

The app works as the person who connects it, with their permissions. Most changes are drafts or can be undone, and anything that goes live for callers or spends money waits for a person to approve it in Hey Quad.

Turn it on

The Org Admin connector has its own switch, separate from Allow AI apps.

  1. Make sure Allow AI apps is on under Settings → Inbox & email. See Use ChatGPT, Claude or another AI app with Hey Quad.
  2. On the same page, find AI apps may change settings.
  3. Turn on Allow AI apps to change settings and confirm.

Changing this switch needs both the "Manage general settings" and "Turn on AI apps" permissions, which owners have. Organizations that handle health information (PHI) can't turn it on.

Turning it off stops every app connected this way on its next request. Business connections keep working.

Connect your app

  1. Copy the address shown under Address to add in the AI app: https://mcp.heyquad.com/mcp/admin.
  2. In your AI app, add a custom connector or MCP server with that address. Use a separate connector from the Business one.
  3. Sign in to Hey Quad, pick the organization, choose the areas the app may use, such as CRM setup, Call handling, Phone system or Team & billing, and click Allow.

Anyone who can sign in can connect, but the app can only do what that person's role allows. A member without settings permissions gets few or no tools.

How changes happen

  • Reads: the app looks at how things are set up today. Nothing changes. This includes a dry run of a call flow: the app plays a pretend caller (pressing keys, calling after hours, nobody picking up) and tells you each step the call would take, what the caller would hear and where the call ends. No call is placed, no phone rings and nothing is saved.
  • Drafts: call flows, the AI receptionist and integrations are edited as drafts. Callers keep getting the published version until someone publishes the draft.
  • Changes, can be undone: some live settings, such as business hours, holidays, queue members, extension settings and number routing, change at once. The app gets an undo and can put things back if you ask. Pointing a number at an extension also sends its texts there when nobody had chosen where they go, as in Hey Quad; its undo puts the texts back too.
  • Needs approval: publishing a flow, a receptionist or an integration, buying, releasing or porting a number, and importing contacts or companies from a spreadsheet (CSV) go to the Approvals list. An import shows how many rows are new, which match people already in your CRM, and which rows will be skipped and why. Once it has run, the app can ask to take the import back, which deletes only the records it created. A person who holds the same permissions approves them in Hey Quad, with a two-factor check where Hey Quad asks for one. The approval shows what will change. See Approve what an AI app asks to do.

Every action the app takes is recorded with the person's name and the app's name.

What stays in Hey Quad

An AI app can never do these, on either connector. A person does them in Hey Quad:

  • delete the organization, transfer ownership, or export all of its data;
  • accept agreements, or sign or change a contract;
  • turn AI apps on;
  • change privacy or health-information (HIPAA) settings, or how long recordings are kept;
  • change an emergency (911) address;
  • see or change SIP passwords, the port-out PIN, or caller ID attestation;
  • change sign-in security or the two-factor policy;
  • remove members;
  • add or change a payment method.

Tools

These are the tools an app connected to the Org Admin connector can use, by the area you allow when you connect. The list comes straight from Hey Quad, so it's always current. An app only sees the ones your permissions allow.

CRM setup

How the CRM is set up. An app gets these tools when you allow CRM setup.

ToolWhat it doesKindPermissions it needsCommand
crm_setupThe CRM's whole setup, with ids: types, stages, fields (enabled or not), lifecycle and tags.ReadsSet up the CRMhq crm-setup schema
work_typeCreate or change a work type (deals, tickets, jobs…); answers `undo`.
Takes: type (text), label (text), pluralLabel (text), trackValue (yes or no), enabled (yes or no), showInSidebar (yes or no), defaultView (text), alertOnNew (yes or no), autoCreateContact (yes or no)
Changes, can be undoneSet up the CRMhq crm-setup work-type
work_stagesSet a work type's stages, in order; answers `undo`.
Takes: type (text, required), stages (list, required)
Changes, can be undoneSet up the CRMhq crm-setup stages
record_typeCreate or change a contact or company type (Vendor, Partner…); answers `undo`.
Takes: type (text), label (text), appliesTo (text)
Changes, can be undoneSet up the CRMhq crm-setup record-type
fieldAdd or change a custom field (text, dropdown, number, yes/no…); answers `undo`.
Takes: object (text, required), key (text), label (text), fieldType (text), options (list), enabled (yes or no)
Changes, can be undoneSet up the CRMhq crm-setup field
field_orderSet the order of an object's fields; answers `undo`.
Takes: object (text, required), keys (list, required)
Changes, can be undoneSet up the CRMhq crm-setup field-order
lifecycle_stageAdd or change a contact lifecycle stage (Lead, Customer…); answers `undo`.
Takes: stage (text), label (text), color (text), isDefault (yes or no)
Changes, can be undoneSet up the CRMhq crm-setup lifecycle-stage
tagRename a tag, or merge it into another, on every record of a kind; answers `undo`.
Takes: object (text, required), from (text, required), to (text, required)
Changes, can be undoneSet up the CRMhq crm-setup tag
crm_deletePropose deleting a work type, contact/company type, field or lifecycle stage.
Takes: what (text, required), key (text, required), object (text), moveTo (text), summary (text)
Needs approvalSet up the CRMhq crm-setup delete
import_contactsPropose importing contacts or companies from a CSV (a person approves it in HeyQuad).
Takes: csv (text), attachmentId (text), type (text), map (list), onMatch (text), tags (list), recordType (text), summary (text)
Needs approvalSet up the CRM, Edit contactshq crm-setup import-contacts
undo_importPropose deleting the records an import created (a person approves it in HeyQuad).
Takes: ids (list, required), importedAt (text, required), summary (text)
Needs approvalSet up the CRM, Edit contactshq crm-setup undo-import

Call handling

Call flows, the AI receptionist, routing and audio. An app gets these tools when you allow Call flows, AI receptionist, Routing, Audio and voicemail.

ToolWhat it doesKindPermissions it needsCommand
flowsList the org's call flows: status, the numbers each answers, the last publish.
Takes: includeArchived (yes or no), kind (text)
ReadsSee call flowshq flows list
flowRead one call flow: the live definition, the draft, what uses it, recent publishes.
Takes: flow (text, required)
ReadsSee call flowshq flows get
flow_catalogThe node types a flow can use: fields, required fields, options, events and docs.
Takes: type (text)
ReadsSee call flowshq flows catalog
validate_flowCheck a flow's draft with the publish validator (errors block publishing).
Takes: flow (text, required)
ReadsSee call flowshq flows validate
publish_flow_previewWhat publishing the draft would change: nodes added, removed and changed, numbers affected.
Takes: flow (text, required)
ReadsSee call flowshq flows preview
flow_dry_runWalk a flow with a pretend caller: the path, what they hear, where the call ends up.
Takes: flow (text, required), definition (text), caller (text), called (text), at (text), input (list), outcome (list), var (list), result (list), maxTurns (number)
ReadsSee call flowshq flows dry-run
create_flowCreate a call flow: blank, from a template, or from a definition (saved as its draft).
Takes: name (text, required), template (text), definition (JSON object)
DraftSee call flows, Edit call flowshq flows create
duplicate_flowCopy a call flow (its live version) into a new flow that nothing routes to.
Takes: flow (text, required), name (text)
DraftSee call flows, Edit call flowshq flows duplicate
edit_flowEdit a flow's draft: replace the whole definition and/or apply targeted node edits.
Takes: flow (text, required), definition (JSON object), ops (list of JSON objects)
DraftSee call flows, Edit call flowshq flows edit
discard_flow_draftThrow away a flow's unpublished draft.
Takes: flow (text, required)
DraftSee call flows, Edit call flowshq flows discard
rename_flowRename a flow (in its draft; the name goes live when the flow is published).
Takes: flow (text, required), name (text, required)
DraftSee call flows, Edit call flowshq flows rename
publish_flowPublish a flow's draft so callers hear it (an AI app's request goes to the Approvals list).
Takes: flow (text, required), message (text)
Needs approvalSee call flows, Publish call flowshq flows publish
revert_flowMake an earlier published version live again (an AI app's request goes to the Approvals list).
Takes: flow (text, required), toVersion (number, required), message (text)
Needs approvalSee call flows, Publish call flowshq flows rollback
set_default_flowMake a flow the org's default flow (an AI app's request goes to the Approvals list).
Takes: flow (text, required)
Needs approvalSee call flows, Publish call flowshq flows set-default
archive_flowArchive a flow nothing routes to (an AI app's request goes to the Approvals list).
Takes: flow (text, required)
Needs approvalSee call flows, Edit call flowshq flows archive
receptionistsList the AI receptionists
Takes: includeArchived (yes or no)
ReadsSee the receptionisthq receptionists list
receptionistOne AI receptionist, described part by part
Takes: id (text, required), live (yes or no)
ReadsSee the receptionisthq receptionists get
receptionist_kbKnowledge bases and their documents, or search them
Takes: receptionist (text), search (text)
ReadsSee the receptionisthq receptionists kb
receptionist_usageHow a receptionist's calls went
Takes: id (text, required), days (number)
ReadsSee the receptionisthq receptionists usage
kb_gapsQuestions callers asked that the knowledge didn't answer
Takes: id (text, required), days (number)
ReadsSee the receptionisthq receptionists kb-gaps
set_greetingChange what the receptionist says first
Takes: id (text, required), text (text, required), callerCanInterrupt (yes or no)
DraftSee the receptionist, Edit the receptionisthq receptionists set-greeting
set_personaChange who the receptionist is and how it behaves
Takes: id (text, required), name (text), businessName (text), role (text), tone (list), style (text), instructions (text)
DraftSee the receptionist, Edit the receptionisthq receptionists set-persona
set_hours_behaviorChoose its business hours and what it does after hours
Takes: id (text, required), schedules (list), checkHours (yes or no), afterHours (text), afterHoursNote (text)
DraftSee the receptionist, Edit the receptionisthq receptionists set-hours
set_transfer_targetsChoose where the receptionist may send callers
Takes: id (text, required), extension (text), numbers (list), queues (list), assistants (list), flows (list)
DraftSee the receptionist, Edit the receptionisthq receptionists set-transfers
set_transfer_hoursChoose whether a transfer destination takes callers after hours
Takes: id (text, required), destination (text, required), afterHours (text), schedule (text)
DraftSee the receptionist, Edit the receptionisthq receptionists set-transfer-hours
enable_toolTurn on one of the receptionist's tools, with its settings
Takes: id (text, required), key (text, required), requireVerification (yes or no), fillerPhrase (text), messageMode (text), notifyTeam (yes or no), emailTo (list), textTo (list), alsoNotifyOwners (yes or no), voicemailBox (text), voicemailGreeting (text), extension (text), numbers (list), defaultNumber (text), assistants (list), flows (list), queues (list), ticketType (text), ticketQueue (text), extensions (list), textStaff (yes or no), onCall (list), pageOnUrgent (yes or no), callerNumberOnly (yes or no), anyAddress (yes or no), lookUpAnyNumber (yes or no), calendars (list), services (list), slotsOffered (number), confirmByText (yes or no), confirmByEmail (yes or no), allowedTags (list), ownSystem (JSON object)
DraftSee the receptionist, Edit the receptionisthq receptionists enable-tool
configure_toolChange a tool's settings without turning it on or off
Takes: id (text, required), key (text, required), requireVerification (yes or no), fillerPhrase (text), messageMode (text), notifyTeam (yes or no), emailTo (list), textTo (list), alsoNotifyOwners (yes or no), voicemailBox (text), voicemailGreeting (text), extension (text), numbers (list), defaultNumber (text), assistants (list), flows (list), queues (list), ticketType (text), ticketQueue (text), extensions (list), textStaff (yes or no), onCall (list), pageOnUrgent (yes or no), callerNumberOnly (yes or no), anyAddress (yes or no), lookUpAnyNumber (yes or no), calendars (list), services (list), slotsOffered (number), confirmByText (yes or no), confirmByEmail (yes or no), allowedTags (list), ownSystem (JSON object)
DraftSee the receptionist, Edit the receptionisthq receptionists configure-tool
disable_toolTurn off one of the receptionist's tools
Takes: id (text, required), key (text, required)
DraftSee the receptionist, Edit the receptionisthq receptionists disable-tool
set_integration_toolLet the receptionist use one of your own systems (an integration operation)
Takes: id (text, required), integration (text, required), operation (text, required), connection (text), pinVersion (number), toolName (text), description (text), enabled (yes or no), requireVerification (yes or no), callerInputs (list), fixedInputs (list), modelInputs (list), outcome (text), kind (text), requestKeyInputs (list), capabilityPhrase (text), guidance (text), readBack (yes or no)
DraftSee the receptionist, Edit the receptionisthq receptionists set-integration-tool
remove_integration_toolTake one of your own systems' tools away from the receptionist
Takes: id (text, required), tool (text, required)
DraftSee the receptionist, Edit the receptionisthq receptionists remove-integration-tool
set_caller_verificationChoose how callers prove who they are, and where they are looked up
Takes: id (text, required), method (text), textFrom (text), authorizedOnly (yes or no), lookupIntegration (text), lookupOperation (text), lookupConnection (text), lookupVersion (number), lookupPhoneInput (text), lookupEmailInput (text), lookupOutputs (list), lookupFixedInputs (list), lookupOrder (text), removeLookup (yes or no)
DraftSee the receptionist, Edit the receptionisthq receptionists set-verification
discard_receptionist_draftThrow away the receptionist's unpublished changes
Takes: id (text, required)
DraftSee the receptionist, Edit the receptionisthq receptionists discard-draft
receptionist_testTry the receptionist in text, with no call and no side effects
Takes: id (text, required), messages (list, required), live (yes or no), afterHours (yes or no)
DraftSee the receptionist, Edit the receptionisthq receptionists test
kb_add_documentAdd a document to the receptionist's knowledge
Takes: id (text, required), title (text), text (text), url (text), knowledgeBase (text)
Changes, can be undoneSee the receptionist, Edit the receptionisthq receptionists kb-add
kb_remove_documentRemove a document from a knowledge base
Takes: id (text, required)
Changes, can be undoneSee the receptionist, Edit the receptionisthq receptionists kb-remove
kb_reindexRead a knowledge document again
Takes: id (text, required)
Changes, can be undoneSee the receptionist, Edit the receptionisthq receptionists kb-reindex
call_outcomesThe call outcomes calls are reported withReadsAny memberhq receptionists outcomes
create_call_outcomeAdd one of your own call outcomes
Takes: label (text, required), category (text, required), key (text), rank (number), color (text)
Changes, can be undoneManage general settingshq receptionists outcome-add
update_call_outcomeChange or restore one of your call outcomes
Takes: id (text, required), label (text), category (text), rank (number), color (text), archived (yes or no)
Changes, can be undoneManage general settingshq receptionists outcome-edit
archive_call_outcomeArchive one of your call outcomes
Takes: id (text, required)
Changes, can be undoneManage general settingshq receptionists outcome-archive
publish_receptionistPut the receptionist's draft live
Takes: id (text, required), message (text), summary (text)
Needs approvalSee the receptionist, Put the receptionist livehq receptionists publish
bind_numberPoint a phone number at the receptionist
Takes: id (text, required), number (text, required), summary (text)
Needs approvalSee the receptionist, Edit the receptionist, Manage call routinghq receptionists bind-number
hoursBusiness-hours schedules: weekly hours, holidays, and what uses each
Takes: schedule (text)
ReadsAny memberhq hours list
set_hoursChange a schedule's weekly hours or timezone, live; returns undo
Takes: schedule (text, required), rules (list of JSON objects), timezone (text)
Changes, can be undoneManage general settingshq hours set
holidayClose a schedule for a date (or dates), give it special hours, or remove that; live, with undo
Takes: schedule (text, required), date (text, required), through (text), label (text), windows (list of JSON objects), remove (yes or no)
Changes, can be undoneManage general settingshq hours holiday
create_scheduleCreate a business-hours schedule
Takes: name (text, required), timezone (text), rules (list of JSON objects), copyFrom (text)
Changes, can be undoneManage general settingshq hours create
rename_scheduleRename a schedule; returns undo
Takes: schedule (text, required), name (text, required)
Changes, can be undoneManage general settingshq hours rename
set_default_scheduleMake a schedule the organization's default, live; returns undo
Takes: schedule (text, required)
Changes, can be undoneManage general settingshq hours set-default
delete_scheduleAsk to delete a schedule nothing uses (goes to Approvals)
Takes: schedule (text, required), summary (text)
Needs approvalManage general settingshq hours delete
queuesCall queues: settings, members with live status, who is waiting now, and what uses each
Takes: queue (text)
ReadsAny memberhq queues list
queue_settingsChange a queue's settings, live; returns undo
Takes: queue (text, required), name (text), strategy (text), active (yes or no), ringSeconds (number), maxWaitSecs (number), thenGoTo (JSON object), holdMusic (text), announcePosition (yes or no), announceIntervalSecs (number), holdMessageText (text), holdMessage (text), defaultPriority (number), wrapUpSecs (number), slTargetSecs (number), slGoalPct (number), voicemailBox (text), recordAi (text), recordAgent (text)
Changes, can be undoneManage call routinghq queues set
queue_membersAdd, remove or re-rank a queue's members, live; returns undo
Takes: queue (text, required), add (list), remove (list), set (list of JSON objects)
Changes, can be undoneManage call routinghq queues set-members
create_queueCreate a call queue
Takes: name (text, required), strategy (text), members (list)
Changes, can be undoneManage call routinghq queues create
delete_queueAsk to delete a queue nothing uses (goes to Approvals)
Takes: queue (text, required), summary (text)
Needs approvalManage call routinghq queues delete
voicemail_boxesVoicemail boxes: greetings, settings and who hears each
Takes: box (text)
ReadsAny memberhq voicemail-boxes list
voicemail_box_settingsChange a voicemail box's settings, live; returns undo
Takes: box (text, required), name (text), description (text), hoursSchedule (text), voice (text), language (text), maxLengthSecs (number), finishOnKey (text), silenceTimeoutSecs (number), playBeep (yes or no), thanksText (text), adminsAreMembers (yes or no), aiTakeMessage (yes or no)
Changes, can be undoneManage voicemail boxeshq voicemail-boxes set
voicemail_box_membersAdd or remove who hears a shared voicemail box, live; returns undo
Takes: box (text, required), addPeople (list), removePeople (list), addQueues (list), removeQueues (list)
Changes, can be undoneManage voicemail boxeshq voicemail-boxes set-members
voicemail_greetingSet a voicemail box's greeting from text or an audio file, live; returns undo
Takes: box (text, required), slot (text), text (text), audio (text), off (yes or no), play (text)
Changes, can be undoneManage voicemail boxeshq voicemail-boxes set-greeting
audioThe audio library: prompts and hold music, their text, and where each is used
Takes: asset (text), kind (text), q (text), limit (number), cursor (text)
ReadsUse prompts & musichq audio list
create_promptCreate a text-to-speech prompt in the audio library
Takes: name (text, required), text (text, required), voice (text), language (text), description (text), tags (list)
Changes, can be undoneUse prompts & music, Manage prompts & musichq audio create-prompt
render_promptRe-render a text-to-speech prompt with new text or voice, live; returns undo
Takes: asset (text, required), text (text), voice (text), language (text)
Changes, can be undoneUse prompts & music, Manage prompts & musichq audio render
use_audio_revisionMake an earlier revision of an audio file the one that plays, live; returns undo
Takes: asset (text, required), rev (number, required)
Changes, can be undoneUse prompts & music, Manage prompts & musichq audio use-revision
rename_audioRename an audio file or change its description and tags; returns undo
Takes: asset (text, required), name (text), description (text), tags (list)
Changes, can be undoneUse prompts & music, Manage prompts & musichq audio rename
delete_audioAsk to delete an audio file nothing plays (goes to Approvals)
Takes: asset (text, required), summary (text)
Needs approvalUse prompts & music, Manage prompts & musichq audio delete

Phone system

Numbers, extensions, emergency calling and texting setup. An app gets these tools when you allow Numbers and extensions, Emergency calling, Texting setup.

ToolWhat it doesKindPermissions it needsCommand
setup_statusWhat is left to set up, what each gap blocks, and where to fix itReadsManage general settingshq org setup-status
diagnoseWhy a phone didn't ring: a number, an extension or one call
Takes: number (text), extension (text), call (text)
ReadsBuy, port and release phone numbers, See every callhq org diagnose
numbersThe organization's phone numbers: where each rings, E911 and textingReadsBuy, port and release phone numbershq phones list
number_searchFind numbers that can be bought, with their monthly price
Takes: areaCode (text), city (text), state (text), contains (text), startsWith (text), endsWith (text), tollFree (yes or no), limit (number)
ReadsBuy, port and release phone numbershq phones search
number_routingPoint a number's calls at a flow, an extension or a queue; answers undo
Takes: number (text, required), to (text, required), target (text), texts (text)
Changes, can be undoneManage call routinghq phones route
number_labelRename a number (its label); answers undo
Takes: number (text, required), label (text, required)
Changes, can be undoneBuy, port and release phone numbershq phones label
buy_numberAsk to buy a number (goes to the Approvals list)
Takes: phoneNumber (text, required), label (text), summary (text)
Needs approvalBuy, port and release phone numbershq phones buy
release_numberAsk to release a number back to the carrier (goes to the Approvals list)
Takes: number (text, required), reason (text), summary (text)
Needs approvalBuy, port and release phone numbershq phones release
port_numberAsk to start moving numbers in from another carrier (a port-in draft)
Takes: numbers (list, required), losingCarrier (text, required), accountNumber (text), authorizedName (text, required), entityName (text), billingPhoneNumber (text), street (text), unit (text), city (text), state (text), postalCode (text), notes (text), summary (text)
Needs approvalBuy, port and release phone numbershq phones port
extensionsEvery extension: who it rings, caller ID and no-answer rule
Takes: extension (text)
ReadsManage extensions and desk phoneshq extensions list
extensionChange an extension's name, caller ID or no-answer rule; answers undo
Takes: extension (text, required), name (text), active (yes or no), ringSeconds (number), noAnswer (text), forwardTo (text), callerId (text)
Changes, can be undoneManage extensions and desk phoneshq extensions set
create_extensionAdd an extension
Takes: name (text, required), number (text), person (text), kind (text)
Changes, can be undoneManage extensions and desk phoneshq extensions create
devicesDesk phones and softphones: online or not, last seen, what they ring
Takes: limit (number), cursor (text)
ReadsManage extensions and desk phoneshq devices list
assign_deviceMake a device ring for an extension; answers undo
Takes: device (text, required), extension (text, required), priority (number)
Changes, can be undoneManage extensions and desk phoneshq devices assign
unassign_deviceStop a device ringing for an extension; answers undo
Takes: device (text, required), extension (text, required)
Changes, can be undoneManage extensions and desk phoneshq devices unassign
conferencesThe organization's conference rooms (names, size, active; never the PIN)ReadsAny memberhq conferences list
e911_statusIs 911 ready, and which numbers and extensions lack an addressReadsManage 911 settingshq emergency status
texting_readinessCan the organization text yet: 10DLC brand and campaign state, numbers, what's blockingReadsManage business textinghq texting readiness
text_templatesApproved texts a healthcare organization may send (its own and HeyQuad's defaults)ReadsManage business textinghq texting templates
create_text_templateAdd an approved text; answers undo
Takes: label (text, required), pattern (text, required)
Changes, can be undoneManage business textinghq texting add-template
edit_text_templateChange an approved text, or switch it off; answers undo
Takes: template (text, required), label (text), pattern (text), active (yes or no)
Changes, can be undoneManage business textinghq texting edit-template
delete_text_templateDelete an approved text; answers undo
Takes: template (text, required)
Changes, can be undoneManage business textinghq texting delete-template
text_destinationsWhere texts land: the shared texting inboxes and who is in eachReadsManage call routinghq texting destinations
edit_text_destinationRename a texting destination or set who is in it; answers undo
Takes: destination (text, required), name (text), members (list)
Changes, can be undoneManage call routinghq texting edit-destination
default_text_destinationMake a texting destination the default; answers undo
Takes: destination (text, required)
Changes, can be undoneManage call routinghq texting default-destination
submit_texting_registrationAsk to submit the saved 10DLC brand or campaign (goes to the Approvals list; has fees)
Takes: what (text, required), summary (text)
Needs approvalManage business textinghq texting register

Team & billing

Members and roles, billing, integrations and mail setup. An app gets these tools when you allow Team, Billing, Integrations, Mail setup.

ToolWhat it doesKindPermissions it needsCommand
audit_logWho changed what, through which app, and when
Takes: person (text), via (text), area (text), since (date and time), until (date and time), limit (number)
ReadsSee the audit loghq audit log
mailboxesThe organization's mailboxes: who can read and send from eachReadsManage mailboxeshq mail-setup mailboxes
mailbox_signatureThe default signature of each mailbox, with a preview
Takes: mailbox (text)
ReadsManage mailboxeshq mail-setup signature
set_mailbox_signatureSet or clear a mailbox's default signature (text, a layout or HTML); answers undo
Takes: mailbox (text, required), text (text), clear (yes or no), layout (text), fields (list of JSON objects), socials (list of JSON objects), html (text), plainText (text), design (JSON object)
Changes, can be undoneManage mailboxeshq mail-setup set-signature
mailbox_signature_previewPreview a mailbox's default signature, or a draft of one, with checks
Takes: mailbox (text, required), layout (text), design (text)
ReadsManage mailboxeshq mail-setup preview-signature
brand_kitThe organization's brand kit for email signaturesReadsManage mailboxeshq mail-setup brand-kit
set_brand_kitChange the brand kit's colors, font, logo, website or address; answers undo
Takes: colors (JSON object), font (text), logoImageId (text), website (text), address (text)
Changes, can be undoneManage mailboxeshq mail-setup set-brand-kit
brand_from_websiteSuggest a brand kit from the organization's website
Takes: url (text, required)
ReadsManage mailboxeshq mail-setup brand-from-website
saved_repliesThe team's shared saved replies
Takes: channel (text), mailbox (text)
ReadsManage mailboxeshq mail-setup replies
create_saved_replyAdd a shared saved reply; answers undo
Takes: name (text, required), body (text, required), subject (text), channel (text), mailbox (text)
Changes, can be undoneManage mailboxeshq mail-setup create-reply
edit_saved_replyChange a shared saved reply; answers undo
Takes: savedReply (text, required), name (text), body (text), subject (text), channel (text), mailbox (text)
Changes, can be undoneManage mailboxeshq mail-setup edit-reply
delete_saved_replyDelete a shared saved reply; answers undo
Takes: savedReply (text, required)
Changes, can be undoneManage mailboxeshq mail-setup delete-reply
email_routesHow mail to each address is handled: mailbox or ticket, who is told, where it goesReadsManage mailboxeshq mail-setup routes
edit_email_routeChange an address's label, notifications, tags, queue or on/off; answers undo
Takes: address (text, required), label (text), enabled (yes or no), allowCompose (yes or no), notify (text), notifyMembers (list), page (yes or no), tags (list), ticketType (text), queue (text)
Changes, can be undoneManage mailboxeshq mail-setup edit-route
membersEveryone in the organization: role, two-factor sign-in, last active, extensions
Takes: member (text)
ReadsManage peoplehq members list
rolesThe organization's roles and what each may do
Takes: role (text)
ReadsAny memberhq roles list
permission_catalogEvery permission key with its label, by area, and what you may grantReadsAny memberhq roles catalog
invite_memberAsk to invite someone by email with a role (goes to the Approvals list)
Takes: email (text, required), role (text, required), summary (text)
Needs approvalManage peoplehq members invite
change_roleAsk to change a member's role (goes to the Approvals list)
Takes: member (text, required), role (text, required), summary (text)
Needs approvalManage peoplehq members set-role
create_roleAsk to create a custom role (goes to the Approvals list)
Takes: name (text, required), description (text), permissions (list), template (text), summary (text)
Needs approvalManage roleshq roles create
edit_roleAsk to change a custom role's name or permissions (goes to the Approvals list)
Takes: role (text, required), name (text), description (text), permissions (list), add (list), remove (list), summary (text)
Needs approvalManage roleshq roles edit
planThe organization's plan: seats, add-ons, the AI tier, pools and the agreementReadsSee billinghq billing plan
invoicesThe organization's invoices, newest first
Takes: year (number), status (text), page (number)
ReadsSee billinghq billing invoices
invoiceOne invoice with its lines, totals, status and payment
Takes: invoice (text, required)
ReadsSee billinghq billing invoice
usageThis period's usage: pooled minutes, AI minutes, texts and spend
Takes: days (number)
ReadsSee billinghq billing usage
next_invoiceThe next invoice, as it would be issued nowReadsSee billinghq billing next-invoice
change_addonsAsk to turn a minute, text or storage bundle on or off (goes to the Approvals list)
Takes: addon (text, required), enabled (yes or no, required), quantity (number), summary (text)
Needs approvalManage billinghq billing change-addons
change_ai_tierAsk to upgrade the AI receptionist tier (goes to the Approvals list)
Takes: tier (text, required), summary (text)
Needs approvalManage billinghq billing ai-tier
integrationsEvery integration: live and draft versions, connections and their last error
Takes: integration (text)
ReadsSee integrationshq integrations list
integration_errorsRecent failed integration calls, with what the third party answered
Takes: integration (text), errorClass (text), since (date and time), until (date and time), limit (number)
ReadsSee integrationshq integrations errors
integration_usageIntegration call volume, success rate, latency and daily quota
Takes: integration (text), groupBy (text), since (date and time), until (date and time)
ReadsSee integrationshq integrations usage
edit_integration_draftSave an integration's draft spec (checked first; nothing goes live)
Takes: spec (JSON object, required)
DraftSee integrations, Build integrationshq integrations apply
publish_integrationAsk to publish an integration's draft (goes to the Approvals list)
Takes: integration (text, required), summary (text)
Needs approvalSee integrations, Build integrationshq integrations publish
test_integration_operationAsk to test one operation against the third party (goes to the Approvals list)
Takes: integration (text, required), operation (text, required), connection (text, required), inputs (JSON object), summary (text)
Needs approvalSee integrations, Build integrationshq integrations test