Docs/Guides/AVCodex MCP Server

    Tools Reference

    Last updated · MAR 2026·Read as Markdown

    This guide documents the tools available in the AVCodex MCP Server, organized by category.

    Jump to a category or use this table to find tools quickly:

    CategoryToolsDescription
    Apps13Create, publish, duplicate, rollback, and deploy agents
    Config9System prompts, models, settings, branding, suggestions
    Knowledge13Add URLs, documents, text, link sources, crawl monitoring
    Analytics14Usage data, conversations, metrics, search, moderation
    Tags8Intent tagging, classification, utterance generation
    Evals8Quality testing and evaluation
    Custom Actions6API integrations and testing
    MCP Integrations6External MCP servers and hosted integrations
    Deployments10Slack, WhatsApp, Discord, GitHub, Email, Voice
    Consumers4End-user management and memory
    Workspaces4Workspace management
    Billing5Subscription, credits, usage, capabilities
    Prompt Engineering5AI-assisted prompt improvement and suggestions
    Action Collections10Reusable action bundles with sharing
    Variables5Application config variables
    Heartbeat3Proactive messaging configuration and history
    Agent Links4Agent-to-agent delegation
    Database Connections5External database connections
    Monetization5Consumer credit packages
    Note: AVCodex agents are stored as "apps" in the underlying API. Tool names and parameters use app and app_id. They map to AVCodex agents.

    Core CRUD operations for managing AVCodex agents.

    list_apps#

    List every agent accessible to the authenticated user.

    Scope: apps:read

    ParameterTypeRequiredDescription
    workspace_idstringNoFilter to a specific workspace
    limitnumberNoMax results (1-100, default 20)
    offsetnumberNoPagination offset

    Example:

    code
    "List all my AVCodex agents"
    "Show agents in workspace 42"

    get_app#

    Get detailed information about a specific agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Example:

    code
    "Get details for agent 123"
    "Show me the configuration of my Crestron support agent"

    create_app#

    Create a new agent in a workspace.

    Scope: apps:write

    ParameterTypeRequiredDescription
    namestringYesAgent name (1-100 chars)
    workspace_idstringYesWorkspace to create in
    descriptionstringNoAgent description (max 2000 chars)
    system_promptstringNoInitial system prompt. Server accepts up to 2M chars; the builder UI cap is derived per-model from the context window (~50% of the window at 4 chars/token).
    model_idstringNoModel ID (default: GPT_4_1)

    Example:

    code
    "Create a Crestron tier-1 support agent called RoomMedic in workspace 5"
    "Make a new agent named RFP Responder with a helpful estimating prompt"

    update_app#

    Update an existing agent's properties.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringNoNew name
    descriptionstringNoNew description
    is_publicbooleanNoMake agent publicly listed

    Example:

    code
    "Rename agent 123 to 'Tier-1 Support v2'"
    "Make my client-facing AV agent publicly listed"

    delete_app#

    Soft-delete an agent.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Example:

    code
    "Delete agent 123"
    "Remove the test agent I created"

    chat_with_app#

    Send a message to an agent and get a response. Useful for testing.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    messagestringYesMessage to send
    session_idstringNoContinue an existing session
    Tip: Use this tool to test agents after making changes. It is faster than switching to the web UI.

    Example:

    code
    "Test my Crestron agent with the question 'What does Cresnet error 87 mean?'"
    "Send 'hello' to agent 123 to check if it's working"

    search_apps#

    Search agents by name or description within your organization.

    Scope: apps:read

    ParameterTypeRequiredDescription
    querystringYesSearch query to match against agent names and descriptions
    limitnumberNoMax results (default 10)

    publish_app#

    Publish the current agent configuration to make it live for consumers. Creates a version snapshot and deploys it.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    tagstringNoVersion tag/label (e.g. v2.0, bugfix)

    Returns: version_id, already_published flag, and the tag used.


    list_app_versions#

    List published version history for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    limitnumberNoMax results (default 20)

    duplicate_app#

    Create a copy of an existing agent with all its configuration, system prompt, and settings. Useful for spinning up a per-client agent from a template (one base "Crestron Tier-1" agent cloned for every managed-services client).

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID to duplicate
    namestringNoName for the copy (default: Original Name (Copy))
    workspace_idstringNoTarget workspace (defaults to same workspace)

    restore_app_version#

    Restore an agent's configuration to a previous version. Does not publish. Use publish_app afterward if needed.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    version_idstringYesVersion ID to restore (from list_app_versions)

    rollback_app_version#

    Rollback an agent to a previously published version and immediately publish it. Combines restore and publish in one step.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    version_idstringYesVersion ID to rollback to (must be a previously launched version)

    get_app_url#

    Get the consumer-facing URL for an agent (custom domain, vanity subdomain, or default path). Also returns the embed widget snippet.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: consumer_url, default_url, has_custom_domain, and embed_snippet.


    Manage agent settings, system prompts, and branding.

    get_system_prompt#

    Get the system prompt for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_system_prompt#

    Update an agent's system prompt.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    system_promptstringYesNew system prompt text
    Warning: Changes take effect immediately for new conversations. Use chat_with_app to test before deploying to users.

    get_model#

    Get the AI model configuration for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_model#

    Change the AI model for an agent.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    modelstringYesModel ID (e.g., GPT_4_1, CLAUDE_3_5_SONNET)

    get_settings#

    Get detailed settings including RAG configuration.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_settings#

    Update agent settings, capabilities, welcome messages, and suggested starters.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    settingsobjectNoSettings JSONB (auth, chat options, etc.)
    capabilitiesobjectNoCapabilities JSONB (features to enable/disable)
    welcome_messagesstring[]NoWelcome message rotation
    suggested_messagesstring[]NoConversation starter suggestions shown to users

    update_branding#

    Update visual branding for the agent.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    primary_colorstringNoHex color code (e.g. #3B82F6)
    logo_urlstringNoURL to logo image (light mode)
    logo_url_darkstringNoURL to logo image (dark mode)
    input_text_hintstringNoPlaceholder text for the chat input
    disclaimer_textstringNoDisclaimer shown below the chat

    list_suggestions#

    Get the suggested conversation starters shown to users on the chat interface.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_suggestions#

    Set the suggested conversation starters shown to users. Pass an empty array to clear all suggestions.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    suggestionsstring[]YesArray of suggestion strings (max 6 recommended)

    Example:

    code
    "Set the starter prompts for my support agent to: 'TSW touch panel is unresponsive', 'Cresnet device offline', 'Schedule a service call'"

    Manage RAG (Retrieval-Augmented Generation) knowledge bases. Load Crestron module reference, Biamp Tesira spec PDFs, AS-built drawings, AMX programming guides, internal commissioning SOPs.

    list_knowledge_sources#

    List all knowledge sources for an agent.

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    statusstringNoFilter by status: pending, processing, completed, failed
    typestringNoFilter by type: url, file, text, youtube, youtube_channel, sitemap, confluence
    limitnumberNoMax results (default 50)
    offsetnumberNoPagination offset

    get_knowledge_source#

    Get details about a specific knowledge source.

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID

    add_url_source#

    Add a URL as a knowledge source. Automatically detects YouTube, Instagram, TikTok, and regular web pages.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    urlstringYesURL to crawl
    max_depthnumberNoHow many levels deep to crawl links (default 1)
    crawl_linksbooleanNoWhether to follow links on the page
    max_pagesnumberNoMaximum number of pages to crawl
    namestringNoCustom name for the source
    Note: Smart Detection. YouTube URLs extract transcripts, social media extracts content, regular URLs are crawled. Useful for ingesting manufacturer training videos and a vendor's full doc site in one step.

    Example:

    code
    "Add https://docs.biamp.com/tesira to my design agent and crawl 3 levels deep"
    "Add this Crestron training video to my onboarding agent's knowledge base"

    add_text_source#

    Add raw text content as a knowledge source.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    contentstringYesText content to add
    namestringYesName for the source

    Example:

    code
    "Add this commissioning checklist text to my deployment agent's knowledge base"

    delete_knowledge_source#

    Remove a knowledge source from an agent.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID

    refresh_knowledge_source#

    Re-crawl or re-process a knowledge source to update its content. Useful when a manufacturer publishes a new firmware-release notes page.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID

    list_active_crawls#

    List knowledge sources currently being processed or queued for an agent.

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: Active processing jobs with job type, status, attempt counts, and the source name/URL being processed.


    cancel_crawl#

    Cancel all pending and in-progress processing jobs for a knowledge source.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID to cancel

    The source status is set to failed. Jobs already running on a worker may complete, but no new queued jobs will start.


    add_document_source#

    Upload one or more document files as knowledge sources. Files are provided as base64-encoded content. Drop in PDFs of Crestron module reference, Biamp DSP guides, Q-SYS Designer help exports, room CAD packages, AS-built docs.

    Scope: knowledge:write

    Supported formats: PDF, DOCX, TXT, MD, CSV, JSON, XLSX, XLS, and audio files (MP3, WAV, M4A, etc.).

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    filesobject[]YesArray of files (1 to 20)

    Each file object requires fileName (with extension) and content (base64-encoded).


    get_crawl_progress#

    Get the processing progress for a knowledge source. Current status, chunk count, pages completed, and any error messages.

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID

    Link a knowledge source from one agent to another, sharing its RAG data without duplicating it. Useful for sharing one master Crestron docs source across every client-specific support agent.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID to link
    target_app_idstringYesAgent ID to link the source to

    Remove a linked knowledge source from an agent. Does not delete the original source.

    Scope: knowledge:write

    ParameterTypeRequiredDescription
    source_idstringYesKnowledge source ID
    app_idstringYesAgent ID to unlink from

    list_linked_knowledge_sources#

    List knowledge sources linked to an agent from other agents (shared sources).

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Access usage data, conversations, and metrics.

    get_app_analytics#

    Get summary analytics for an agent: total sessions, messages, unique users, and date range stats.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    Returns: Total sessions, messages, unique users, first and last session timestamps.


    search_conversations#

    Search conversations with filters.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    querystringNoText to search for in messages
    sincestringNoISO date to filter from
    limitnumberNoMax results (default 20)
    offsetnumberNoPagination offset (default 0)

    Example:

    code
    "Find conversations about Cresnet timeouts in my support agent"
    "Show recent conversations from the last week"

    get_conversation#

    Get a specific conversation with all messages.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    session_idstringYesSession ID

    get_top_queries#

    Get the most common user queries.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    limitnumberNoNumber of queries (default 20)
    sincestringNoISO date to filter from (defaults to last 30 days)

    get_model_usage#

    Get LLM model usage breakdown (token counts by model) for an agent.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    get_response_time_analytics#

    Get response time statistics based on message timestamps.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 7 days)

    Returns: Total responses, avg response ms, p50, p95.


    get_user_engagement#

    Get user engagement metrics: sessions per user, messages per session, return rate.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    search_messages#

    Search for specific text within messages across all conversations in an agent.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    querystringYesText to search for
    rolestringNoFilter by role: user, assistant, or system
    sincestringNoISO date to filter from
    limitnumberNoMax results (default 50, max 200)
    offsetnumberNoPagination offset (default 0)

    Returns matching messages with a 500-character content preview and session context.


    search_documentation#

    Full-text search within an agent's knowledge base (RAG chunks).

    Scope: knowledge:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    querystringYesText to search for in knowledge content
    limitnumberNoMax results (default 20)

    Useful for checking what content is indexed before a chat, or debugging RAG retrieval issues. ("Did the Tesira firmware notes page actually get crawled?")


    get_tag_analytics#

    Get tag usage statistics for an agent over a time period.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    Returns: Per-tag counts for total fires, active fires, removed fires, text-replaced count, avg similarity, and last fired timestamp.


    get_file_analytics#

    Get file upload statistics for an agent: upload counts and total storage by MIME type.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    Returns: Breakdown for both chat session uploads and consumer brain files.


    get_moderation_stats#

    Get moderation statistics: how many conversations were frozen, had responses replaced, or triggered notifications.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringNoISO date to filter from (defaults to last 30 days)

    Returns: Tag fire counts broken down by action type (freeze, static text, notification, webhook, manually removed) and affected session count.


    Get the most-used agents in your organization, ranked by session count and unique users.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    sincestringNoISO date to filter from (defaults to last 30 days)
    limitnumberNoMax results (default 10)

    export_conversations#

    Export conversations as JSON for an agent within a date range.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    sincestringYesISO date to export from (e.g. 2026-01-01)
    untilstringNoISO date to export until (defaults to now)
    limitnumberNoMax sessions to export (default 100, max 500)

    Manage intent tags for message classification and automated responses.

    list_tags#

    List all tags for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_tag#

    Get details for a specific tag, including utterances.

    Scope: apps:read

    ParameterTypeRequiredDescription
    tag_idstringYesTag ID

    create_tag#

    Create a new intent tag.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesTag name
    descriptionstringNoTag description
    utterancesstring[]NoExample phrases that match this tag
    actionobjectNoAction to take when tag matches

    Action types:

    • staticText: Replace the AI response with fixed text.
    • freeze: Stop conversation flow.
    • notification: Send webhook or email alert.

    Example:

    code
    "Create a tag called 'truck-roll-needed' for my support agent with utterances like 'send a tech', 'come on site', 'we need someone in the room'"

    update_tag#

    Update an existing tag.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    tag_idstringYesTag ID
    namestringNoNew name
    utterancesstring[]NoNew utterances
    actionobjectNoNew action

    delete_tag#

    Delete a tag.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    tag_idstringYesTag ID

    list_tag_instances#

    List messages that matched a specific tag.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    tag_idstringNoFilter by specific tag (optional)
    limitnumberNoMax results (default 50)

    remove_tag_instance#

    Soft-delete a specific tag detection instance from a message. The instance is marked as removed rather than permanently deleted.

    Scope: apps:write

    ParameterTypeRequiredDescription
    tag_instance_idstringYesTag instance ID to remove

    generate_utterances#

    Generate training utterances for a tag using AI. Utterances are example phrases that should trigger the tag. More utterances means better detection accuracy.

    Scope: apps:write

    ParameterTypeRequiredDescription
    tag_namestringYesThe tag name (e.g. wants quote, network outage)
    tag_descriptionstringYesDescription of what this tag detects
    countnumberNoNumber of utterances to generate (default 20, max 100)

    Example:

    code
    "Generate 30 training utterances for a tag called 'projector lamp issue' for a higher-ed classroom support agent"

    Create and run quality tests for your agents. Run an eval suite over a tier-1 Crestron support agent before pushing prompt changes to production.

    list_evals#

    List all evaluations for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_eval#

    Get details for a specific evaluation.

    Scope: apps:read

    ParameterTypeRequiredDescription
    eval_idstringYesEvaluation ID

    create_eval#

    Create a new evaluation with test cases for an agent.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesEvaluation name
    test_casesobject[]YesArray of test cases
    evaluation_methodstringNofactuality, faithfulness, answer_relevancy, context_relevancy, or comprehensive (default: factuality)

    Test case format:

    json
    {
      "input": "TSW-1070 is showing offline. What do I check first?",
      "expected_output": "Check the Cresnet bus power, verify the touch panel's IP via Toolbox, then check the control system's program for the device ID."
    }

    update_eval#

    Update an existing evaluation's name, test cases, or method.

    Scope: apps:write

    ParameterTypeRequiredDescription
    eval_idstringYesEvaluation ID
    namestringNoNew name
    test_casesobject[]NoUpdated test cases
    evaluation_methodstringNoNew evaluation method

    delete_eval#

    Delete an evaluation.

    Scope: apps:write

    ParameterTypeRequiredDescription
    eval_idstringYesEvaluation ID

    run_eval#

    Run an evaluation against the agent to score its responses on the test cases.

    Scope: apps:write

    ParameterTypeRequiredDescription
    eval_idstringYesEvaluation ID

    list_eval_results#

    List past evaluation runs.

    Scope: apps:read

    ParameterTypeRequiredDescription
    eval_idstringYesEvaluation ID
    limitnumberNoMax results

    get_eval_result#

    Get detailed results from a specific evaluation run.

    Scope: apps:read

    ParameterTypeRequiredDescription
    result_idstringYesResult ID

    Manage API integrations for your agents. Open a service ticket in your PSA, query a control system processor, push a status update to a project tracker.

    list_custom_actions#

    List all custom actions for an agent.

    Scope: actions:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_custom_action#

    Get details for a specific custom action.

    Scope: actions:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    action_idstringYesAction ID

    create_custom_action#

    Create a new API integration.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesAction name
    descriptionstringYesWhat the action does
    methodstringYesHTTP method (GET, POST, etc.)
    urlstringYesAPI endpoint URL
    headersobjectNoRequest headers
    body_templatestringNoRequest body template
    parametersobject[]NoInput parameters
    Note: Custom actions have complex schemas. See the Custom Actions Guide for detailed examples.

    update_custom_action#

    Update an existing custom action.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    action_idstringYesAction ID
    (other fields)variousNoFields to update

    delete_custom_action#

    Delete a custom action.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    action_idstringYesAction ID

    test_custom_action#

    Test a custom action by executing it with sample parameters.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    action_idstringYesAction ID
    parametersobjectNoTest parameters to pass

    Connect external MCP servers to your agents.

    list_mcp_integrations#

    List all connected MCP servers for an agent.

    Scope: actions:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_mcp_integration#

    Get details about a connected MCP server.

    Scope: actions:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    integration_idstringYesIntegration ID

    connect_mcp_server#

    Connect an external MCP server to an agent.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    server_urlstringYesMCP server URL (must be HTTPS)
    namestringNoDisplay name (defaults to server URL)
    auth_typestringNoAuthentication type: NONE, BEARER, or OAUTH (default: NONE)
    auth_tokenstringNoBearer token (when auth_type is BEARER)

    update_mcp_integration_tools#

    Enable or disable the entire MCP integration, or toggle specific tools by name.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    integration_idstringYesIntegration ID
    is_activebooleanNoEnable or disable the entire integration
    enabled_toolsstring[]NoTool names to enable (unlisted tools are disabled)

    disconnect_mcp_server#

    Remove an MCP server connection.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    integration_idstringYesIntegration ID

    list_hosted_integrations#

    List hosted integration providers connected to an agent (Google Drive, Gmail, Outlook, OneDrive, Slack, and others).

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: For each integration: provider, label, is_active, account_email, and requires_consumer_auth.


    Manage multi-channel deployments (Slack, WhatsApp, Email, Voice).

    list_slack_deployments#

    List Slack workspace connections.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_slack_deployment#

    Get details about a Slack deployment.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    deployment_idstringYesDeployment ID

    disconnect_slack_deployment#

    Remove a Slack connection.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    deployment_idstringYesDeployment ID

    get_whatsapp_deployment#

    Get WhatsApp business configuration.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_voice_config#

    Get voice agent configuration.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_voice_config#

    Update voice agent settings.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    voice_idstringNoVoice model ID
    languagestringNoLanguage code
    telephony_enabledbooleanNoEnable phone number

    get_email_deployment#

    Get email channel configuration.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_email_deployment#

    Update email channel settings.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    enabledbooleanNoEnable/disable email
    from_namestringNoSender display name

    get_discord_deployment#

    Get the Discord bot integration status for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: connected, discord_app_id, is_active, and connection timestamp.


    get_github_deployment#

    Get the GitHub App integration status for an agent (auto-respond to issues and PRs).

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: connected, account_login, auto_respond_issues, and installation details.


    Manage end-users (consumers) of your agents. The end-users in this case might be your client's employees, your field techs, or anyone else hitting the agent.

    list_consumers#

    List consumers of an agent with search and filtering.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    searchstringNoSearch by name, email, or identifier
    has_emailbooleanNoFilter to consumers with/without email
    sort_bystringNocreated_at, credits, name, or email (default: created_at)
    sort_dirstringNoasc or desc (default: desc)
    limitnumberNoMax results (default 25, max 100)
    offsetnumberNoPagination offset (default 0)

    get_consumer#

    Get details about a specific consumer including their session count.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    consumer_idstringYesConsumer ID

    update_consumer#

    Update a consumer's credit balance or subscription status.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    consumer_idstringYesConsumer ID
    creditsnumberNoSet credit balance (integer >= 0)
    subscription_activebooleanNoEnable or disable the subscription

    get_user_memories#

    Get the AI memories stored for a specific consumer. Facts and context the agent has learned across conversations (which rooms a tech typically services, the IT contact at a particular client site, the control system in place at each campus building).

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    consumer_idstringYesConsumer ID
    memory_typestringNoFilter by memory type (optional)
    limitnumberNoMax memories to return (default 50)

    Only active (non-superseded) memories are returned.


    Manage workspaces and team members.

    list_workspaces#

    List all workspaces you have access to.

    Scope: workspace:read

    ParameterTypeRequiredDescription
    (none)

    get_workspace#

    Get details about a specific workspace.

    Scope: workspace:read

    ParameterTypeRequiredDescription
    workspace_idstringYesWorkspace ID

    list_workspace_members#

    List members of a workspace.

    Scope: workspace:read

    ParameterTypeRequiredDescription
    workspace_idstringYesWorkspace ID

    create_workspace#

    Create a new workspace in your organization.

    Scope: workspace:write

    ParameterTypeRequiredDescription
    namestringYesWorkspace name

    Example:

    code
    "Create a new workspace called Service Operations"

    View subscription and credit information.

    get_subscription#

    Get subscription details for an organization.

    Scope: billing:read

    ParameterTypeRequiredDescription
    (none)

    get_credits#

    Get credit balance and usage.

    Scope: billing:read

    ParameterTypeRequiredDescription
    (none)

    get_usage#

    Get LLM token usage and non-LLM usage events for the organization.

    Scope: billing:read

    ParameterTypeRequiredDescription
    sincestringNoISO date to filter from (defaults to last 30 days)

    get_usage_by_app#

    Get token usage broken down by agent for the organization.

    Scope: billing:read

    ParameterTypeRequiredDescription
    sincestringNoISO date to filter from (defaults to last 30 days)

    Returns: Per-agent totals for call_count, total_input_tokens, and total_output_tokens.


    get_capabilities#

    Get a boolean map of all feature capabilities for the organization. What features are available based on tier, add-ons, and feature flags.

    Scope: billing:read

    ParameterTypeRequiredDescription
    (none)

    AI-assisted tools for improving prompts and selecting models.

    list_available_models#

    List all AI models available for use.

    Scope: apps:read

    ParameterTypeRequiredDescription
    (none)

    generate_system_prompt#

    Generate a new system prompt from a description.

    Scope: apps:write

    ParameterTypeRequiredDescription
    descriptionstringYesWhat the agent should do, its personality, and target audience
    tonestringNoDesired tone (professional, friendly, technical, casual)

    improve_system_prompt#

    Use AI to analyze and improve an existing system prompt.

    Scope: apps:write

    ParameterTypeRequiredDescription
    system_promptstringYesThe current system prompt to improve
    focusstringNoWhat to focus on: clarity, safety, personality, instructions, all (default: all)

    recommend_model#

    Get AI-powered model recommendations for your use case.

    Scope: apps:read

    ParameterTypeRequiredDescription
    use_casestringYesDescription of the use case (e.g. tier-1 control system support, RFP scope generation)
    prioritystringNoquality, speed, or cost (default: quality)

    generate_suggestions#

    Generate conversation starter suggestions for an agent based on its system prompt. These are the suggested messages shown to users to begin a conversation.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    countnumberNoNumber of suggestions to generate (default 4, max 10)
    stylestringNoquestion, task, exploratory, or mixed (default: mixed)

    Example:

    code
    "Generate 6 starter suggestions for my Q-SYS support agent"

    Manage reusable action bundles that can be linked to multiple agents.

    list_action_collections#

    List action collections owned by you or shared within your organization.

    Scope: actions:read

    ParameterTypeRequiredDescription
    workspace_idstringNoFilter by workspace

    get_action_collection#

    Get details for a specific action collection.

    Scope: actions:read

    ParameterTypeRequiredDescription
    collection_idstringYesCollection ID

    create_action_collection#

    Create a new action collection.

    Scope: actions:write

    ParameterTypeRequiredDescription
    namestringYesCollection name
    descriptionstringNoCollection description
    workspace_idstringNoWorkspace to create in

    update_action_collection#

    Update an action collection's name or description.

    Scope: actions:write

    ParameterTypeRequiredDescription
    collection_idstringYesCollection ID
    namestringNoNew collection name
    descriptionstringNoNew collection description

    delete_action_collection#

    Delete an action collection. Also removes it from any linked agents.

    Scope: actions:write

    ParameterTypeRequiredDescription
    collection_idstringYesCollection ID

    Link an action collection to an agent, making its actions available.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    collection_idstringYesCollection ID

    Remove an action collection from an agent.

    Scope: actions:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    collection_idstringYesCollection ID

    list_linked_collections#

    List all action collections linked to a specific agent.

    Scope: actions:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    update_collection_sharing#

    Update the sharing scope of an action collection.

    Scope: actions:write

    ParameterTypeRequiredDescription
    collection_idstringYesCollection ID
    sharing_scopestringYesPRIVATE, WORKSPACE, or PUBLIC
    • PRIVATE. Only you can see it.
    • WORKSPACE. Anyone in your workspace can discover and link it.
    • PUBLIC. Visible in the marketplace.

    import_collection_tools#

    Import tools from an action collection into an agent as standalone custom actions. Unlike link_collection_to_app, imported tools are independent copies you can modify freely without affecting the source collection.

    Scope: actions:write

    ParameterTypeRequiredDescription
    collection_idstringYesCollection ID to import from
    app_idstringYesAgent ID to import into

    Returns: Count of imported tools and any that were skipped due to slug conflicts.


    Manage agent variables (key-value configuration used by custom actions). Useful for per-client API keys, control system IPs, headend hostnames.

    list_app_variables#

    List all variables for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_app_variable#

    Get details for a specific agent variable.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    variable_idstringYesVariable ID

    create_app_variable#

    Create a new agent variable.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesVariable name
    labelstringNoDisplay label
    typestringNoVariable type
    descriptionstringNoVariable description
    requiredbooleanNoWhether the variable is required

    update_app_variable#

    Update an agent variable's value, label, or description.

    Scope: apps:write

    ParameterTypeRequiredDescription
    variable_idstringYesVariable ID
    valuestringNoNew variable value
    labelstringNoNew display label
    descriptionstringNoNew description

    delete_app_variable#

    Delete an agent variable.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    variable_idstringYesVariable ID

    Configure and monitor proactive messaging (heartbeat). Your agent reaching out to consumers on a schedule. Ideal for monthly health checks across a managed-services portfolio or weekly status pings to project stakeholders.

    get_heartbeat_config#

    Get the heartbeat configuration for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Returns: enabled, every, prompt, checklist, targets, and model.


    update_heartbeat_config#

    Update heartbeat configuration. Set the interval, prompt, delivery channels, and model.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    enabledbooleanNoEnable or disable heartbeat
    everystringNoInterval (e.g. 30m, 1h, 4h, 1d)
    promptstringNoCustom prompt for heartbeat messages
    checkliststringNoCriteria for what the heartbeat should check
    targetsstring[]NoDelivery channels: whatsapp, slack, email, webchat, webhook
    modelstringNoLLM model to use for heartbeat messages

    list_heartbeat_runs#

    List recent heartbeat runs for an agent. Shows which consumers were contacted and outcomes.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    limitnumberNoMax results (default 20)

    Link agents together so one agent can call another as a tool during chat. A general-purpose AV front-desk agent can route programming questions to a Crestron specialist agent and DSP questions to a Biamp specialist agent.

    List agents linked to an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    list_available_agents#

    List agents available to link to an agent (agents in the same organization not already linked).

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Link another agent to this agent so it can be called as a tool during chat.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesSource agent ID (the agent that will call the linked agent)
    target_app_idstringYesTarget agent ID (the agent to link)

    Example:

    code
    "Link the 'Q-SYS Lua Specialist' agent to my 'AV Help Desk' agent"

    Remove an agent link.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesSource agent ID
    target_app_idstringYesTarget agent ID to unlink

    Manage external database connections attached to agents. Supported types: postgres, mysql, mssql, bigquery, snowflake, clickhouse. Connect a project tracker, an inventory database, or a service-ticket warehouse.

    list_database_connections#

    List external database connections for an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    get_database_connection#

    Get details about a database connection.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    connection_idstringYesConnection ID

    create_database_connection#

    Create a new external database connection for an agent. Connection strings are encrypted at rest.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesDisplay name
    db_typestringYespostgres, mysql, mssql, bigquery, snowflake, or clickhouse
    connection_stringstringYesConnection string/DSN
    default_access_levelstringNoread or read_write (default: read)
    allowed_tablesstring[]NoRestrict access to specific tables (all tables if omitted)
    max_rowsnumberNoMax rows per query result (default: 1000)

    delete_database_connection#

    Delete a database connection from an agent.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    connection_idstringYesConnection ID

    test_database_connection#

    Test a database connection and discover its schema (tables, columns, types).

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    connection_idstringYesConnection ID

    Manage credit packages that consumers can purchase within your agent. Useful if you sell branded AV expert agents directly to clients or end-users.

    list_consumer_packages#

    List credit packages available for consumers to purchase in an agent.

    Scope: apps:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    create_consumer_package#

    Create a new credit package for consumer purchase. Supports one-time and subscription packages.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    namestringYesPackage name (e.g. Service Pack)
    typestringYesONE_TIME or SUBSCRIPTION
    creditsnumberYesNumber of credits in the package
    price_centsnumberYesPrice in cents (e.g. 999 = $9.99)
    descriptionstringNoPackage description
    billing_intervalstringNoFor subscriptions: month or year (default: month)
    sort_ordernumberNoDisplay order (lower = first, default: 0)

    update_consumer_package#

    Update a consumer credit package.

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    package_idstringYesPackage ID
    namestringNoNew name
    creditsnumberNoNew credit amount
    price_centsnumberNoNew price in cents
    descriptionstringNoNew description
    is_activebooleanNoEnable/disable
    statusstringNoDRAFT or PUBLISHED
    sort_ordernumberNoNew display order

    delete_consumer_package#

    Delete a consumer credit package (soft delete).

    Scope: apps:write

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID
    package_idstringYesPackage ID

    get_monetization_stats#

    Get monetization analytics for an agent: total revenue, purchases, active subscriptions, and unique customers.

    Scope: analytics:read

    ParameterTypeRequiredDescription
    app_idstringYesAgent ID

    Permission scopes#

    ScopeDescription
    apps:readRead agent configurations
    apps:writeCreate, update, delete agents
    knowledge:readRead knowledge sources
    knowledge:writeManage knowledge sources
    actions:readRead custom actions
    actions:writeManage custom actions
    analytics:readRead analytics data
    workspace:readRead workspace info
    billing:readRead billing data
    *All permissions

    Common error codes#

    CodeDescriptionResolution
    UNAUTHORIZEDInvalid or expired tokenRe-authenticate
    FORBIDDENInsufficient scopeRequest additional scopes
    NOT_FOUNDResource doesn't existCheck the ID is correct
    RATE_LIMITEDToo many requestsWait and retry
    VALIDATION_ERRORInvalid parametersCheck parameter types and values

    • Common Workflows. Step-by-step examples.
    • Rate Limits. Usage limits and best practices.
    • Authentication. Token management.

    *AVCodex · Your AV expertise. Amplified by AI.*

    Was this helpful?
    Edit this page →