# VICIdial Integration Source: https://docs.sigmamind.ai/VICIdial #### AI-Powered Call Center Automation for Scalable Customer Engagement ### **Overview of VICIdial** VICIdial is a widely adopted open-source contact center solution designed to manage high-volume inbound and outbound calling operations. It is commonly used by sales teams, support centers, and contact centers to run efficient communication workflows at scale. With capabilities such as predictive dialing, automated call distribution, IVR systems, and real-time reporting, VICIdial provides a flexible and cost-effective foundation for modern call center operations. ### Why Integrate VICIdial with Sigmamind AI Integrating VICIdial with Sigmamind AI enhances traditional call center workflows with AI-powered automation and intelligence. This enables businesses to handle more conversations, improve efficiency, and deliver better customer experiences without increasing operational overhead. This integration is ideal for: * Outbound sales and lead generation teams * Customer support and service operations * Contact centers handling high call volumes * Businesses adopting AI-driven communication *** ### Key Capabilities #### 1. AI-Powered Voice Agents Automate inbound and outbound calls using conversational AI agents that can engage customers 24/7. #### 2. Intelligent Lead Qualification & Routing Use AI to qualify leads in real time and route high-value prospects to the right teams. #### 3. Enhanced Predictive Dialing Boost VICIdial’s dialing efficiency with AI-driven decision-making and prioritization. #### 4. Real-Time Agent Assist Provide human agents with live suggestions, summaries, and contextual insights during calls. #### 5. Advanced Call Analytics Analyze conversations to extract insights, track performance, and optimize campaigns. #### 6. Workflow Automation Automatically sync call data with CRMs and internal systems for seamless operations. *** ### Key Benefits * Reduce operational costs through automation * Increase conversion rates and campaign performance * Improve customer experience with AI-driven conversations * Enhance agent productivity and efficiency * Scale call center operations without additional infrastructure *** ### How VICIdial Works with Sigmamind AI #### End-to-End Call Flow The integration between VICIdial and Sigmamind AI enables a seamless transition from outbound dialing to AI-driven conversations and human agent handoff. *** ### Step-by-Step Flow #### 1. Outbound Call Initiated (VICIdial) Vicidial initiates outbound calls using customer data from its internal lists or connected data sources via predictive or auto-dialing campaigns. #### 2. Customer Connects Once the customer answers the call, VICIdial detects a successful connection and triggers the next step in the call flow. #### 3. Call Routed to Sigmamind AI (Inbound) The active call is transferred to Sigmamind AI as an inbound call, where the AI system takes control of the interaction. #### 4. AI Agent Handles the Conversation Sigmamind AI engages the customer to: * Qualify the lead * Collect key information * Answer common questions * Guide the interaction based on predefined workflows #### 5. Conditional Human Handoff Based on predefined conditions (such as user intent, interest level, or escalation triggers), the system determines whether a human agent is required. #### 6. Call Transfer to Human Agent If needed, the call is seamlessly transferred to a live agent without losing conversation context, ensuring a smooth customer experience. #### 7. Call Completion & Outcome Logging The agent completes the interaction, and the outcome is logged for reporting, analytics, and future follow-ups. *** ### Call Flow Summary ```text theme={null} VICIdial (Outbound Dialing) ↓ Customer Answers ↓ Call Routed to Sigmamind AI (Inbound) ↓ AI Agent Conversation ↓ (Conditional) ↓ Transfer to Human Agent ↓ Call Completion & Logging ``` *** ## Setup Guide: *** ### 📸 Screenshots & Walkthrough > Placeholder for setup screenshots # Add Integation Tool Source: https://docs.sigmamind.ai/add-integation-tool The **Add Integration Tool** lets your AI agent call external apps and APIs during a live conversation. Use it to look up customer records, update CRM contacts, create bookings, trigger webhooks, or perform any real-world action exposed by a connected integration — all without interrupting the call. Integration *** ## When to Use Configure this tool when your agent needs to: * Look up a customer's record in HubSpot, Salesforce, or your own CRM * Retrieve a policy status, account balance, or order history in real time * Update a contact's information based on what the customer says * Create a support ticket, booking, or record mid-conversation * Trigger any external API action based on conversation context *** ## Prerequisites Before adding an integration tool to your agent, your integration must already be connected and authenticated. > See [How to add an Integration](/documentation/tools/add-a-custom-tool) and [How to Configure Authentication](/documentation/tools/authentication) for setup steps. Once the integration is connected and shows **Auth connected**, you can add its tools to any agent. *** ## Steps to Add via Agent Builder Adding an integration tool is a **3-step wizard** inside the Agent Builder. ### Step 1: Select the Tool 1. Open the **Agent Builder** 2. Click **+ Add Tool** 3. Select **Add Integration Tool** 4. Choose your connected integration from the list (e.g., HubSpot) 5. The wizard shows all available tool actions for that integration Each tool action displays: * The **action name** (e.g., `get_customer_list`, `update_customer_info`) * The **HTTP method** badge (e.g., `GET`, `PATCH`, `POST`) * The **endpoint URL** the action calls Click the tool action you want to add to the agent. If your integration has multiple tools, you can add them one at a time. **Example — HubSpot tools:** | Action | Method | Endpoint | | ---------------------- | ------- | --------------------------------------------------------------- | | `get_customer_list` | `GET` | `https://api.hubapi.com/contacts/v1/lists/all/contacts/all` | | `update_customer_info` | `PATCH` | `https://api.hubapi.com/crm/v3/objects/contacts/{{contact_id}}` | *** ### Step 2: Configure the Instruction After selecting the tool, the wizard moves to the configuration screen. #### Instruction *(When this tool should be invoked)* Write a clear, specific instruction that tells the AI agent when to trigger this API call during the conversation. ```text theme={null} Invoke this tool after the customer provides their name, to look up their contact record in HubSpot before proceeding. ``` ```text theme={null} Call get_customer_list when the customer asks about their account status or when you need to retrieve their contact details. ``` ```text theme={null} Use update_customer_info after the customer confirms a change to their email address or phone number. ``` The agent uses this instruction alongside the live conversation to decide when to make the API call. A vague instruction causes the tool to fire at the wrong time or not at all. Tool *** ### Step 3: Map Response Values as Dynamic Variables The final step lets you extract values from the API response and save them as `{{variable_name}}` variables for use in subsequent prompts or tool inputs. #### View Sample Response After the tool has been run at least once, click **View sample response (from last run)** to see the actual JSON returned by the API. **Example — HubSpot `get_customer_list` response:** ```json theme={null} { "is-primary": true, "1": { "value": "53630cb5-e398-4c5c-978e-97b5c87f688c", "timestamp": 1764927922684, "saved-at-timestamp": 1764927922687, "deleted-changed-timestamp": 0 }, "has-more": false, "vid-offset": 341631764191 } ``` Use **Copy JSON** to copy the full response structure for reference when setting up your mappings. Sample *** #### Root Path The **Root path** defines the base key in the response from which field mappings are extracted. It is auto-populated based on the tool name. ```text theme={null} Root path: hubspot_get_customer_info ``` This scopes all variable names under a consistent namespace so they don't conflict with variables from other tools. *** #### Add Mapping Click **+ Add Mapping** to define which fields from the API response should be saved as variables. Each mapping row has two parts: * **Response field path** — the key from the JSON response you want to capture (e.g., `1.value`, `vid-offset`) * **Variable name** — the `{{variable_name}}` the value will be stored as **Example mappings for HubSpot response:** | Response Field | Saved as Variable | | -------------- | ----------------------- | | `1.value` | `{{contact_guid}}` | | `1.timestamp` | `{{contact_timestamp}}` | | `vid-offset` | `{{vid_offset}}` | | `has-more` | `{{has_more_contacts}}` | Once mapped, these variables are immediately available in all subsequent prompts and tool inputs within the same agent: ```text theme={null} "I found your account, {{customer_name}}. Your contact ID is {{contact_guid}}." ``` ```text theme={null} https://api.hubapi.com/crm/v3/objects/contacts/{{contact_guid}} ``` > Reference these variables as `{{variable_name}}` in any subsequent prompt or tool input field. *** ## Full Example: HubSpot Lookup + Update Flow **Scenario:** An insurance renewal agent looks up the customer in HubSpot, then updates their renewal status after confirmation. ### Tool 1 — `get_customer_list` | Field | Value | | ----------- | ---------------------------------------------------------------------------------------------- | | Instruction | Look up the customer in HubSpot after they provide their name and confirm their email address. | | Root path | `hubspot_get_customer_info` | | Mapping | `1.value` → `{{contact_guid}}` | ### Tool 2 — `update_customer_info` | Field | Value | | ----------- | ------------------------------------------------------------------------------------------------- | | Instruction | Call this tool after the customer confirms they want to renew, to update their record in HubSpot. | | Endpoint | `https://api.hubapi.com/crm/v3/objects/contacts/{{contact_guid}}` | | Body | `{ "renewal_status": "confirmed", "renewal_date": "{{renewal_date}}" }` | The `{{contact_guid}}` extracted from the first tool flows directly into the endpoint URL of the second tool — no manual copying or re-entry needed. *** ## Using Dynamic Variables in Integration Tools Variables from **Extract Dynamic Variables** or from a previous integration tool's response mapping can be used anywhere in your tool configuration: **In endpoint URLs:** ```text theme={null} https://api.hubapi.com/crm/v3/objects/contacts/{{contact_id}} ``` **In request body:** ```json theme={null} { "email": "{{customer_email}}", "policy": "{{policy_number}}", "status": "{{renewal_status}}" } ``` **In headers:** ```text theme={null} Authorization: Bearer {{access_token}} ``` *** ## Best Practices * Write **specific Instructions** for each tool — if two tools have similar descriptions, the agent may call the wrong one * Always check **Auth connected** is showing before adding a tool to your agent — unauthenticated tools will fail silently * Use **response mapping** to extract IDs and keys from the first API call, so subsequent calls can reference them without re-asking the customer * Add mappings only for fields you will actually use — unnecessary variables add noise to the agent context * Test each tool independently using the **Test** button in the Tool Library before combining them in a live agent flow * Combine with **Extract Dynamic Variables** to capture customer-provided values before making API calls that need them *** ## Troubleshooting | Issue | Fix | | --------------------------------------- | -------------------------------------------------------------------------------- | | Auth connected not showing | Re-authenticate the integration in the Integrations section | | API call returning an error | Use the sample response viewer to check the endpoint and payload format | | Variable not resolving in next tool | Confirm the mapping is saved and the variable name matches exactly | | Wrong tool being triggered | Rewrite the Instruction to be more specific and distinct from other tools | | Response fields not appearing in sample | Run the tool at least once via the Test button to populate the last run response | # Manage Members Source: https://docs.sigmamind.ai/add-members The **Members** page allows workspace administrators to manage team access and collaboration within the platform. From this section, admins can view all existing members, invite new users to the workspace, and remove members when needed. Managemember ### Navigate Go to:\ **Settings → Members** #### You Can View * Member Name * Email ID * Role * Status * Created Date *** ## Invite a Team Member ## Steps 1. Go to the **Dashboard** 2. Click on **Settings** 3. Click on **Members** 4. Click **“Invite a new member”** Inviteteam 1 1. Enter: * **Member’s Name** * **Member’s Email ID** 2. Click **“Send Invite”** Invitememmber *** ## What Happens Next * The invited user receives an email invitation * After accepting, they are added to the workspace * The member appears in the **Members list** *** # Delete (Remove) a Member ## Steps 1. Go to **Settings** 2. Click on **Members** 3. Find the member you want to remove 4. Click the **three-dot menu (⋯)** on the right side 5. Click **“Delete”** 6. Confirm the action # Amazon Connect Source: https://docs.sigmamind.ai/amazon-connect # Create Agent Source: https://docs.sigmamind.ai/api-reference/agents/create-agent post /v1/agents Creates a new single prompt agent with the specified configuration, including system prompt and agent settings. Returns the created agent including its agentId, which is required for all subsequent update, call, and simulation operations. # Update Agent Source: https://docs.sigmamind.ai/api-reference/agents/update-agent patch /v1/agents/{agentId} Partially updates an existing agent by agentId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated agent record. # Create Batch Run Source: https://docs.sigmamind.ai/api-reference/batch-runs/create-batch-run post /v1/batch-runs Triggers a new batch run by executing the specified test cases in parallel against the selected agent. Returns the created batch including its batchId, which is required for subsequent get and list test-run calls. # Get Batch Run Source: https://docs.sigmamind.ai/api-reference/batch-runs/get-batch-run get /v1/batch-runs/{batchId} Retrieves the full details of a batch run by batchId, scoped to the specified agent. Returns overall batch status, test case count, pass/fail summary, and individual run results. # List Batch Runs Source: https://docs.sigmamind.ai/api-reference/batch-runs/list-batch-runs get /v1/batch-runs Returns a paginated list of batch runs for the specified agent, sorted by most recently created first. Use page and size to navigate through results. # Create Batch Run Source: https://docs.sigmamind.ai/api-reference/batch/create-batch-run post /v1/batch-runs Triggers a new batch run by executing the specified test cases in parallel against the selected agent. Returns the created batch including its batchId, which is required for subsequent get and list test-run calls. # Get Batch Run Source: https://docs.sigmamind.ai/api-reference/batch/get-batch-run get /v1/batch-runs/{batchId} Retrieves the full details of a batch run by batchId, scoped to the specified agent. Returns overall batch status, test case count, pass/fail summary, and individual run results. # List Batch Runs Source: https://docs.sigmamind.ai/api-reference/batch/list-batch-runs get /v1/batch-runs Returns a paginated list of batch runs for the specified agent, sorted by most recently created first. Use page and size to navigate through results. # Create Phone Call Source: https://docs.sigmamind.ai/api-reference/calls/create-phone-call post /v1/calls Initiates an outbound call with the specified agent, caller, and destination numbers. Supports dynamic variables for personalization. Returns the created call record, including the callId for future retrieval or cancellation. # Delete Phone Call Source: https://docs.sigmamind.ai/api-reference/calls/delete-phone-call delete /v1/calls/{callId} Permanently deletes a call record by callId. Cannot be undone. Returns 204 No Content on success. # Get Phone Call Source: https://docs.sigmamind.ai/api-reference/calls/get-phone-call get /v1/calls/{callId} Retrieves the full details of a single call record by callId. Returns call status, direction, assigned agent, phone numbers, duration, and transcript metadata. # List Phone Calls Source: https://docs.sigmamind.ai/api-reference/calls/list-phone-calls get /v1/calls Returns a paginated list of call records for the account, sorted by most recently created first. Use the status parameter to filter by call state. Use page and size to navigate through results. # Create Campaign Source: https://docs.sigmamind.ai/api-reference/campaigns/create-campaign post /v1/campaigns Creates an outbound call campaign with the specified agent, caller number, and CSV contact list. Set isScheduled=true with scheduledDate, scheduledTime, and scheduledTimezone to defer launch. Returns the created campaign, including its campaignId. # Delete Campaign Source: https://docs.sigmamind.ai/api-reference/campaigns/delete-campaign delete /v1/campaigns/{campaignId} Permanently deletes a campaign by campaignId. Cannot be undone — the campaign must have no associated calls before deletion. Returns 204 No Content on success. # Get Campaign Source: https://docs.sigmamind.ai/api-reference/campaigns/get-campaign get /v1/campaigns/{campaignId} Retrieves the full details of a single campaign by campaignId. Returns current status, schedule configuration, assigned agent, caller number, and any CSV upload errors. # List Campaigns Source: https://docs.sigmamind.ai/api-reference/campaigns/list-campaigns get /v1/campaigns Returns a paginated list of campaigns for the account, sorted by most recently created first. Use the status parameter to filter by lifecycle state. Use page and size to navigate through results. # Update Campaign Source: https://docs.sigmamind.ai/api-reference/campaigns/update-campaign patch /v1/campaigns/{campaignId} Partially updates an existing campaign by campaignId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated campaign record. # Chat Completion Source: https://docs.sigmamind.ai/api-reference/chats/chat-completion post /v1/chats/response Submits a new customer message to an in_progress chat session and returns the agent's reply. The session must be active — calls against an ended session will be rejected. Returns the agent's response and updated session state. # Create Chat Source: https://docs.sigmamind.ai/api-reference/chats/create-a-chat post /v1/chats Creates a new chat session with the specified agent and sends the initial message. Returns the agent’s reply along with the chatId for subsequent completion, update, and end-session calls. # Create Chat Source: https://docs.sigmamind.ai/api-reference/chats/create-chat post /v1/chats Creates a new chat session with the specified agent and sends the initial message. Returns the agent’s reply along with the chatId for subsequent completion, update, and end-session calls. # End Chat Source: https://docs.sigmamind.ai/api-reference/chats/end-chat patch /v1/chats/{chatId}/end-session Ends an in_progress chat session by chatId, marking it as completed. No further messages can be submitted after a session is ended. Returns the final session record. # Get Chat Source: https://docs.sigmamind.ai/api-reference/chats/get-chat get /v1/chats/{chatId} Retrieves the full details of a single chat session by chatId. Returns the session status, assigned agent, message history, and dynamic variables. # List Chats Source: https://docs.sigmamind.ai/api-reference/chats/list-chats get /v1/chats Returns a paginated list of chat sessions for the account, sorted by most recently created first. Use the status parameter to filter by session state. Use page and size to navigate through results. # Update Chat Source: https://docs.sigmamind.ai/api-reference/chats/update-chat patch /v1/chats/{chatId} Partially updates an in_progress chat session by chatId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated session record. # Create Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/create-integration-auth post /v1/integrations/{integrationId}/auth Creates and stores authentication credentials for an integration. Supports three auth types: API Key, Basic auth, and Bearer token. Returns the created auth record including its authId, which is required for subsequent get, update, and delete calls. # Delete Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/delete-integration-auth delete /v1/integrations/{integrationId}/auth/{authId} Permanently deletes an auth record by authId. Cannot be undone — any tools referencing this auth record will lose the ability to authenticate. Returns 204 No Content on success. # Get Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/get-integration-auth get /v1/integrations/{integrationId}/auth/{authId} Retrieves the full details of a single auth record by authId. Returns the auth type, credential metadata, and associated integration. Sensitive credential values are not returned after creation. # List Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/list-integration-auth get /v1/integrations/{integrationId}/auth Returns a paginated list of auth records for a given integration, sorted by most recently created first. Use the authType parameter to filter by credential type. Use page and size to navigate through results. # List Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/list-integration-auth-records get /v1/integrations/{integrationId}/auth Returns a paginated list of auth records for a given integration, sorted by most recently created first. Use the authType parameter to filter by credential type. Use page and size to navigate through results. # Update Integration Auth Source: https://docs.sigmamind.ai/api-reference/integration-auth/update-integration-auth patch /v1/integrations/{integrationId}/auth/{authId} Partially updates an existing auth record by authId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated auth record. # Create Tool Source: https://docs.sigmamind.ai/api-reference/integration-tools/create-tool post /v1/integrations/{integrationId}/tools Creates a new API tool under the specified integration. Define the HTTP endpoint, method, and parameter schema the agent will use when invoking the tool. Returns the created tool including its toolId, which is required for subsequent get, update, delete, and execute calls. # Delete Tool Source: https://docs.sigmamind.ai/api-reference/integration-tools/delete-tool delete /v1/integrations/{integrationId}/tools/{toolId} Permanently deletes a tool by toolId — cannot be undone. Any agent using this tool will lose access immediately. Returns 204 No Content on success. # Execute Tool Source: https://docs.sigmamind.ai/api-reference/integration-tools/execute-tool post /v1/integrations/{integrationId}/tools/{toolId}/execute Executes a tool against its configured third-party API using the supplied placeholder values. Auth credentials are resolved automatically; specify authId to select specific credentials when multiple exist. Returns the raw response from the external API including status code, headers, and body. # Get Tool Source: https://docs.sigmamind.ai/api-reference/integration-tools/get-tool get /v1/integrations/{integrationId}/tools/{toolId} Retrieves the full configuration of a single tool by toolId. Returns the tool's endpoint, HTTP method, parameter schema, and access type. # List Tools Source: https://docs.sigmamind.ai/api-reference/integration-tools/list-tools get /v1/integrations/{integrationId}/tools Returns a paginated list of tools registered under an integration, sorted by most recently created first. Use the status parameter to filter by tool state. Use page and size to navigate through results. # Update Tool Source: https://docs.sigmamind.ai/api-reference/integration-tools/update-tool patch /v1/integrations/{integrationId}/tools/{toolId} Partially updates an existing tool by toolId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated tool record. # Create Integration Source: https://docs.sigmamind.ai/api-reference/integrations/create-integration post /v1/integrations Registers a new third-party integration for your account. Supply the provider type (e.g. shopify, cal_com) along with an optional friendly name and description. Returns the created integration including its integrationId, which is required for all subsequent auth and tool operations. # Delete Integration Source: https://docs.sigmamind.ai/api-reference/integrations/delete-integration delete /v1/integrations/{integrationId} Permanently deletes an integration by integrationId, including all associated auth credentials and tools. Cannot be undone. Returns 204 No Content on success. # Get Integration Source: https://docs.sigmamind.ai/api-reference/integrations/get-integration get /v1/integrations/{integrationId} Retrieves the full details of a single integration by integrationId. Returns the provider type, friendly name, description, and current status of the integration. # List Integrations Source: https://docs.sigmamind.ai/api-reference/integrations/list-integrations get /v1/integrations Returns a paginated list of integrations registered on the account, sorted by most recently created first. Use the provider parameter to filter by integration type. Use page and size to navigate through results. # Update Integration Source: https://docs.sigmamind.ai/api-reference/integrations/update-integration patch /v1/integrations/{integrationId} Partially updates an existing integration by integrationId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated integration record. # Introduction Source: https://docs.sigmamind.ai/api-reference/introduction Example section for showcasing API endpoints If you're not looking to build API reference documentation, you can delete this section by removing the api-reference folder. ## Welcome There are two ways to build API documentation: [OpenAPI](https://mintlify.com/docs/api-playground/openapi/setup) and [MDX components](https://mintlify.com/docs/api-playground/mdx/configuration). For the starter kit, we are using the following OpenAPI specification. View the OpenAPI specification file ## Authentication All API endpoints are authenticated using Bearer tokens and picked up from the specification file. ```json theme={null} "security": [ { "bearerAuth": [] } ] ``` # Create knowledge base Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/create-knowledge-base post /v1/knowledge-bases Creates a knowledge base by providing a name, optional text snippets, URLs, and file attachments. Sources are processed in order: text, URLs, then files. Supported file types include PDF, TXT, HTML, Markdown, and DOCX. Maximum file size is 25 MB. # Delete knowledge base Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/delete-knowledge-base delete /v1/knowledge-bases/{kbId} Deletes a knowledge base along with all its associated sources. This action is irreversible. # Delete document Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/delete-one-document-from-a-knowledge-base delete /v1/knowledge-bases/{kbId}/documents/{documentId} Deletes a specific source from a knowledge base. Other sources remain unaffected. # Get knowledge base Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/get-knowledge-base-by-kbid get /v1/knowledge-bases/{kbId} Retrieves a single knowledge base along with its associated sources and timestamps. # List knowledge bases Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/list-knowledge-bases get /v1/knowledge-bases Returns a paginated list of knowledge bases for the account, sorted by most recently updated. Each item includes its sources and timestamps. Use page and size for pagination. # Update knowledge base Source: https://docs.sigmamind.ai/api-reference/knowledge-bases/update-knowledge-base patch /v1/knowledge-bases/{kbId} Updates a knowledge base by adding new sources and/or modifying its name. Supported file types include PDF, TXT, HTML, Markdown, and DOCX. Maximum file size is 25 MB. # Create Phone Number Source: https://docs.sigmamind.ai/api-reference/phone-numbers/create-phone-number post /v1/phone-numbers Purchases and provisions a new phone number for your account. Provide a specific phoneNumber in +E.164 format, or a countryCode (optionally areaCode) to auto-select one. Returns the provisioned number, including its sipPhoneNumber for subsequent get, update, and delete calls. # Delete Phone Number Source: https://docs.sigmamind.ai/api-reference/phone-numbers/delete-phone-number delete /v1/phone-numbers/{phoneNumber} Permanently removes a phone number from your account — provisioned numbers are released to the carrier, BYO numbers remain with your telecom provider. Cannot be undone. Returns 204 No Content on success. # Get Phone Number Source: https://docs.sigmamind.ai/api-reference/phone-numbers/get-phone-number get /v1/phone-numbers/{phoneNumber} Retrieves the full configuration of a single phone number by its +E.164 value. Returns assigned agents, active status, provider, and SIP configuration for BYO numbers. # Import Phone Number Source: https://docs.sigmamind.ai/api-reference/phone-numbers/import-phone-number post /v1/phone-numbers/import Imports an existing phone number via SIP trunking (BYO). Provide the number in +E.164 format along with SIP credentials (trunkUsername, trunkPassword, terminationSipURI). Returns the imported number, including its sipPhoneNumber. # List Phone Numbers Source: https://docs.sigmamind.ai/api-reference/phone-numbers/list-phone-numbers get /v1/phone-numbers Returns a paginated list of all phone numbers registered on the account, sorted by most recently added first. Includes both SigmaMind-provisioned numbers and BYO numbers imported via SIP trunking. Use page and size to navigate through results. # Update Phone Number Source: https://docs.sigmamind.ai/api-reference/phone-numbers/update-phone-number patch /v1/phone-numbers/{phoneNumber} Partially updates the configuration of an existing phone number. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated phone number record. # Get QA Issue Source: https://docs.sigmamind.ai/api-reference/qa-issues/get-qa-issue get /v1/qa-issues/{qaIssueId} Retrieves the full details of a single QA issue by qaIssueId. Returns the issue record including its associated QA rule, status, reasons, and any metadata captured at detection time. # List QA Issues Source: https://docs.sigmamind.ai/api-reference/qa-issues/list-qa-issues get /v1/qa-issues Returns a paginated list of QA issues for the specified QA rule, sorted by most recently created first. Use page and size to navigate through results. # Create QA Rule Source: https://docs.sigmamind.ai/api-reference/qa-rules/create-qa-rule post /v1/qa-rules Creates a new QA rule with the specified configuration. Define the rule's evaluation criteria and expected result. Returns the created QA rule, including its qaRuleId for subsequent get, update, delete, and issue-listing calls. # Delete QA Rule Source: https://docs.sigmamind.ai/api-reference/qa-rules/delete-qa-rule delete /v1/qa-rules/{qaRuleId} Permanently deletes a QA rule by qaRuleId. Cannot be undone — the rule will no longer be evaluated against future interactions. Returns 204 No Content on success. # Get QA Rule Source: https://docs.sigmamind.ai/api-reference/qa-rules/get-qa-rule get /v1/qa-rules/{qaRuleId} Retrieves the full details of a single QA rule by qaRuleId. Returns the rule configuration including its evaluation criteria, expected value, and agents it will be applied to. # List QA Rules Source: https://docs.sigmamind.ai/api-reference/qa-rules/list-qa-rules get /v1/qa-rules Returns a paginated list of all QA rules, sorted by most recently created first. Use page and size to navigate through results. # Update QA Rule Source: https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule patch /v1/qa-rules/{qaRuleId} Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record. # Create Agent Source: https://docs.sigmamind.ai/api-reference/single-prompt-agents/create-agent post /v1/agents Creates a new single prompt agent with the specified configuration, including system prompt and agent settings. Returns the created agent including its agentId, which is required for all subsequent update, call, and simulation operations. # Delete Agent Source: https://docs.sigmamind.ai/api-reference/single-prompt-agents/delete-agent delete /v1/agents/{agentId} Permanently deletes an agent from your account. Cannot be undone. # Get Agent Source: https://docs.sigmamind.ai/api-reference/single-prompt-agents/get-agent get /v1/agents/{agentId} Retrieves the full details of a single prompt agent, along with agent settings. # List Agents Source: https://docs.sigmamind.ai/api-reference/single-prompt-agents/list-single-prompt-agents get /v1/agents Retrieve a paginated list of all single prompt agents available in the account along with their details and configurations. # Update Agent Source: https://docs.sigmamind.ai/api-reference/single-prompt-agents/update-agent patch /v1/agents/{agentId} Partially updates an existing agent by agentId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated agent record. # Create Test Case Source: https://docs.sigmamind.ai/api-reference/test-cases/create-test-case post /v1/test-cases Creates a simulation test case for the specified agent. Define the scenario using user persona, goals, and evaluation criteria. Returns the created test case, including its testCaseId for subsequent get, update, delete, and batch-run calls. # Delete Test Case Source: https://docs.sigmamind.ai/api-reference/test-cases/delete-test-case delete /v1/test-cases/{testCaseId} Permanently deletes a simulation test case by testCaseId. Cannot be undone — the test case will no longer be available for future batch runs. Returns 204 No Content on success. # Get Test Case Source: https://docs.sigmamind.ai/api-reference/test-cases/get-test-case get /v1/test-cases/{testCaseId} Retrieves the full details of a single simulation test case by testCaseId. Returns the conversation scenario definition, including the user persona, goals, evaluation criteria, and current status. # List Test Cases Source: https://docs.sigmamind.ai/api-reference/test-cases/list-test-cases get /v1/test-cases Returns a paginated list of simulation test cases for the specified agent, sorted by most recently created first. Use page and size to navigate through results. # Update Test Case Source: https://docs.sigmamind.ai/api-reference/test-cases/update-test-case patch /v1/test-cases/{testCaseId} Partially updates an existing simulation test case by testCaseId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated test case record. # Get Test Run Source: https://docs.sigmamind.ai/api-reference/test-runs/get-test-run get /v1/test-runs/{jobId} Retrieves the full details of a single test run by jobId, scoped to the specified batch and agent. Returns the test case name, execution status, expected and actual outcomes, and transcript details. # List Test Runs Source: https://docs.sigmamind.ai/api-reference/test-runs/list-test-runs get /v1/test-runs Returns a paginated list of test run results for the specified batch, sorted by most recently created first. Use page and size to navigate through results. # Create Webhook Source: https://docs.sigmamind.ai/api-reference/webhooks/create-webhook post /v1/webhooks Registers a new webhook to receive real-time event notifications on your HTTPS endpoint. The webhook is scoped to a single agent and fires only for the event types you specify. Returns the created webhook including its webhookId and HMAC secret — store the secret securely as it is only returned once. # Delete Webhook Source: https://docs.sigmamind.ai/api-reference/webhooks/delete-webhook delete /v1/webhooks/{webhookId} Permanently removes a webhook by webhookId. Cannot be undone — no further event deliveries will be attempted to the registered URL. Returns 204 No Content on success. # Get Webhook Source: https://docs.sigmamind.ai/api-reference/webhooks/get-webhook get /v1/webhooks/{webhookId} Retrieves the full configuration of a single webhook by webhookId. Returns the target URL, scoped agent, subscribed event types, and active status. The HMAC secret is not returned after creation — store it securely when the webhook is first created. # List Webhooks Source: https://docs.sigmamind.ai/api-reference/webhooks/list-webhooks get /v1/webhooks Returns a paginated list of webhooks for the account, sorted by most recently created first. Use agentId to filter by agent and active to filter by enabled/disabled status. Use page and size to navigate through results. # SigmaMind AI Integration with Gorgias Source: https://docs.sigmamind.ai/app-integration/gorgias This document provides a step-by-step guide for developers on how to integrate the Gorgias customer service platform with the SigmaMind AI platform. This integration allows for seamless synchronization of Gorgias data, such as macros, ticket tags, rules, and helpdesk FAQs, with your SigmaMind AI agents. ## Table of Contents * [Prerequisites](#prerequisites) * [Integration Steps](#integration-steps) * [1. Access Gorgias Settings](#1-access-gorgias-settings) * [2. Navigate to App Store](#2-navigate-to-app-store) * [3. Search for SigmaMind AI](#3-search-for-sigma-mind-ai) * [4. Connect the App](#4-connect-the-app) * [5. Authorize Permissions](#5-authorize-permissions) * [6. Confirm Authorization](#6-confirm-authorization) * [7. Verify Connection](#7-verify-connection) * [Synchronization Details](#synchronization-details) * [Troubleshooting](#troubleshooting) ## Prerequisites * An active Gorgias account. * Access to the Gorgias dashboard with administrative privileges. * An active SigmaMind AI account. ## Integration Steps Follow these steps to integrate Gorgias with SigmaMind AI: ### 1. Access Gorgias Settings From your Gorgias dashboard, locate and click on "Settings". ### 2. Navigate to App Store Within the "Settings" menu, select "App Store". ### 3. Search for SigmaMind AI In the Gorgias App Store, use the search bar to find "Sigma" or "SigmaMind". The "SigmaMind AI" app should appear in the search results. ### 4. Connect the App Click on the "SigmaMind AI" app from the search results, then select "Connect App". ### 5. Authorize Permissions A prompt will appear requesting various permissions for SigmaMind AI to access your Gorgias data. These permissions are critical for the synchronization process. The permissions typically include access to: * Gorgias macros (response templates) * Ticket tags * Rules * Helpdesk FAQs This synchronization ensures that any changes made in Gorgias are automatically reflected and updated in your SigmaMind AI agents. ### 6. Confirm Authorization Carefully review the requested permissions to understand the data access being granted. Once reviewed, click "Authorize" to proceed with the integration. ### 7. Verify Connection To confirm that the integration was successful, perform the following steps: 1. Go back to "Settings". 2. Select "HTTP Integration". 3. Under "HTTP Integration," click on the "Manage" tab. 4. You should see that the "SigmaMind AI" app is listed and "turned on", indicating a successful connection. ## Synchronization Details The integration facilitates a one-click installation and ensures continuous synchronization of the following Gorgias entities with your SigmaMind AI agents: * **Macros**: Response templates created in Gorgias are synced to SigmaMind AI. * **Ticket Tags**: Tags used for categorizing tickets in Gorgias are available in SigmaMind AI. * **Rules**: Automation rules defined in Gorgias are synchronized. * **Helpdesk FAQs**: Frequently asked questions and their answers managed in Gorgias are integrated into SigmaMind AI. This automatic synchronization ensures that your AI agents always have the most up-to-date information from your Gorgias helpdesk. ## Troubleshooting If you encounter issues during the integration process: * **Permissions**: Ensure all requested permissions were granted during the authorization step. * **App Status**: Verify that the "SigmaMind AI" app is "turned on" under "HTTP Integration" -> "Manage" in Gorgias settings. * **Gorgias/SigmaMind AI Status**: Check the status pages for both Gorgias and SigmaMind AI for any ongoing service disruptions. * **Contact Support**: If the issue persists, contact the support teams for Gorgias or SigmaMind AI for further assistance. # Integrating Shopify with SigmaMind AI Source: https://docs.sigmamind.ai/app-integration/shopify This guide provides a detailed, step-by-step process for developers to integrate a Shopify store with SigmaMind AI. This integration empowers AI agents to securely access real-time store information and perform automated actions, enhancing customer support and store management capabilities. *** ## Section 1: Prerequisites Before you begin, ensure you have the following: * **Shopify Partner Account:** A Shopify Partner account is essential for managing development activities and requesting access to merchant stores. If you don't have one, create it at [partners.shopify.com](https://partners.shopify.com/). * **Shopify Store URL:** The exact URL of the Shopify store you intend to integrate. * **Collaborator Request Code (if applicable):** For most merchant stores, a collaborator request code will be required. This code must be obtained directly from the merchant, typically found in the "Security" page of their Shopify Admin. *** ## Section 2: Requesting Access to a Shopify Store This section details how to gain the necessary permissions for your AI agent to interact with a Shopify store. ### Step 2.1: Initiate Store Access Request 1. Log in to your Shopify Partner account. 2. From the dashboard, navigate to the **"Stores"** section. 3. Click on **"Request access to a store."** 4. In the prompt, enter the **Store URL** of the Shopify store you wish to integrate (e.g., `your-store-name.myshopify.com`). 5. If the merchant store requires a collaborator request code, enter the code provided by the merchant. ### Step 2.2: Define Permissions (Access Scopes) This is a critical step where you define the scope of access for your AI agent. The permissions you select here will determine what information your AI can fetch and what actions it can perform. You will only be able to select permissions that the store owner grants you. * **General Permissions:** * **Manage orders information:** Allows the AI to view and manage order details. * **Edit orders:** Enables the AI to modify existing orders. * **Apply discounts:** Grants the AI the ability to apply discounts to orders. * **Return orders:** Allows the AI to process order returns. * **Refund orders:** Enables the AI to issue refunds for orders. * **Cancel orders:** Grants the AI the ability to cancel orders. * **Administration Permissions (Crucial for App Development):** * **View apps developed by staff and collaborators:** **This permission is absolutely essential** for the next step of setting up your custom app. Without it, you will not be able to create or manage apps on the store. * **Enable app development:** This permission is necessary to activate the app development features for the store. * **Develop apps:** This permission allows you to create and manage custom applications within the Shopify store's environment. * **Other Relevant Permissions:** * Review and select any other permissions your AI agent will need based on its intended functionality. This may include: * **Product Information:** Access to product details, inventory levels. * **Customer Data:** Access to customer profiles, order history. * **FAQs/Content:** Access to store content for answering customer queries. * `read_customer_events` * `read_customers` * `read_discounts` * `read_inventory` * `read_themes` * `read_orders` * `read_products` * `read_reports` * `read_locations` * `read_marketing_events` ### Step 2.3: Submit Request 1. Once all necessary permissions have been carefully selected, submit the access request. 2. The merchant will then receive a request to grant you access with the specified permissions. *** ## Section 3: Setting Up the SigmaMind AI Custom App After the merchant grants you access to their Shopify store, you can proceed with setting up the custom application that SigmaMind AI will use to interact with the store. ### Step 3.1: Access Shopify Admin and App Development 1. Navigate to the Shopify store's administrative interface (Shopify Admin). 2. From the Shopify Admin sidebar, go to **"Settings."** 3. Within the settings menu, click on **"Apps and sales channels."** 4. Under "Apps and sales channels," locate and click on **"Develop apps."** ### Step 3.2: Create a New Custom App 1. Click on the **"Create an app"** button. 2. **App Name:** Enter a descriptive and easily identifiable name for your application (e.g., "SigmaMind AI Integration," "AI Assistant for Store"). 3. **App Developer:** Select your email ID from the dropdown list as the designated app developer. 4. Click **"Create app"** to finalize the app creation. ### Step 3.3: Configure Admin API Scopes This step is crucial for defining the specific API permissions for your custom app. These permissions dictate what data your app can read and write via the Shopify Admin API. 1. After creating the app, you will be directed to the app's overview page. Click on **"Configure Admin API scopes."** 2. On this screen, you will see a list of available API permissions. **Important:** You will only be able to select permissions that were granted to you in the initial store access request (Section 2.2). 3. Select all the necessary API scopes that your AI agent will require to function effectively. This includes, but is not limited to, the following commonly used scopes: * `read_customer_events` * `read_customers` * `read_discounts` * `read_inventory` * `read_themes` * `read_orders` * `read_products` * `read_reports` * `read_locations` * `read_marketing_events` 4. After selecting all the required scopes, click **"Save"** to apply your changes. *** ## Section 4: Installing the App and Obtaining the API Token The final step in the Shopify configuration involves installing your custom app and securely obtaining the Admin API access token. ### Step 4.1: Install the Custom App 1. Navigate back to the **"Overview"** screen of your newly created app within the Shopify Admin. 2. Click on the **"Install app"** button. 3. A confirmation pop-up window will appear. Review the permissions and click **"Install"** to proceed with the installation. ### Step 4.2: Reveal and Secure the Admin API Access Token 1. Once the app is successfully installed, you will be automatically directed to the **"API credentials"** tab. 2. On this tab, you will see an option to reveal your **Admin API access token**. Click **"Reveal token once."** 3. **Critical Security Note:** This token is revealed **only once**. It is a highly sensitive credential that grants extensive access to your Shopify store based on the configured scopes. * **Immediately copy this token.** * **Store it securely** in an environment variable, a secrets management service, or a secure configuration file. **Do not hardcode it directly into your application code.** * If you lose this token, you will need to uninstall and reinstall the app to generate a new one. *** ## Section 5: Connecting to SigmaMind AI Platform The final step is to configure your SigmaMind AI platform with the obtained Shopify Admin API access token. 1. Log in to your SigmaMind AI account. 2. Navigate to the section dedicated to App integrations - Shopify configurations. 3. Input the **Admin API access token** you obtained in Step 4.2 into the App Integration- Shopify Auth token field. 4. Follow any additional instructions provided by the SigmaMind AI platform for completing the Shopify integration. Once the token is successfully configured within SigmaMind AI, your AI agents will be authenticated and able to access all the data and perform all the actions permitted by the API scopes you selected during the app setup. *** ## Benefits of this Integration This robust integration unlocks significant capabilities for your AI agents, including: * **Real-time Information Fetching:** AI agents can automatically retrieve up-to-the-minute information from your Shopify store, such as current order details, comprehensive customer information, detailed product data, and answers to frequently asked questions. * **Automated Actions:** Empower your AI agents to perform a variety of automated actions on the Shopify store, either based on customer inquiries/tickets or predefined business rules. This includes: * Canceling orders * Applying discounts * Processing order returns * Issuing refunds * Modifying order details This seamless integration allows for significant automation of customer support and various store management tasks, streamlining operations through the SigmaMind AI platform. # Billing Logs Source: https://docs.sigmamind.ai/billing-logs The Billing Logs page provides a breakdown of platform usage and associated billing details across different channels and agents. Billing 1 ## How to Navigate 1. Go to the Home Dashboard. 2. From the left side panel, click on **Logs**. 3. Open the **Billing** tab at the top of the page. ## Key Insights * Track billing and usage data in real time. * View: * Conversation ID * Source and channel * Billing component * Unit price * Usage duration * Total cost * Analyze usage trends through billing and usage charts. * Filter data by channel, agent, date range, and timezone. ## Filter & Export Options * Use the filter option to search and analyze specific billing records. * Apply filters based on: * Conversation ID * Source * Channel * Status * Billing component * Usage * Cost * Download billing data for reporting and record keeping. * Refresh logs anytime to fetch the latest billing activity. ## Common Use Cases * Monitor platform spending and usage. * Analyze agent-level billing details. * Track usage across chat, email, and phone channels. * Review cost breakdown for different billing components. ## Status Indicators * **Billed** → Usage has been successfully charged and recorded. # Development Source: https://docs.sigmamind.ai/development Preview changes locally to update your docs **Prerequisite**: Please install Node.js (version 19 or higher) before proceeding.
Please upgrade to `docs.json` before proceeding and delete the legacy `mint.json` file.
Follow these steps to install and run Mintlify on your operating system: **Step 1**: Install Mintlify: ```bash npm theme={null} npm i -g mintlify ``` ```bash yarn theme={null} yarn global add mintlify ``` **Step 2**: Navigate to the docs directory (where the `docs.json` file is located) and execute the following command: ```bash theme={null} mintlify dev ``` A local preview of your documentation will be available at `http://localhost:3000`. ### Custom Ports By default, Mintlify uses port 3000. You can customize the port Mintlify runs on by using the `--port` flag. To run Mintlify on port 3333, for instance, use this command: ```bash theme={null} mintlify dev --port 3333 ``` If you attempt to run Mintlify on a port that's already in use, it will use the next available port: ```md theme={null} Port 3000 is already in use. Trying 3001 instead. ``` ## Mintlify Versions Please note that each CLI release is associated with a specific version of Mintlify. If your local website doesn't align with the production version, please update the CLI: ```bash npm theme={null} npm i -g mintlify@latest ``` ```bash yarn theme={null} yarn global upgrade mintlify ``` ## Validating Links The CLI can assist with validating reference links made in your documentation. To identify any broken links, use the following command: ```bash theme={null} mintlify broken-links ``` ## Deployment Unlimited editors available under the [Pro Plan](https://mintlify.com/pricing) and above. If the deployment is successful, you should see the following: ## Code Formatting We suggest using extensions on your IDE to recognize and format MDX. If you're a VSCode user, consider the [MDX VSCode extension](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) for syntax highlighting, and [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) for code formatting. ## Troubleshooting This may be due to an outdated version of node. Try the following: 1. Remove the currently-installed version of mintlify: `npm remove -g mintlify` 2. Upgrade to Node v19 or higher. 3. Reinstall mintlify: `npm install -g mintlify` Solution: Go to the root of your device and delete the \~/.mintlify folder. Afterwards, run `mintlify dev` again. Curious about what changed in the CLI version? [Check out the CLI changelog.](https://www.npmjs.com/package/mintlify?activeTab=versions) # Tool Action Source: https://docs.sigmamind.ai/documentation/agents/add-advance-nodes/app-action-node Tool Actions allow the agent to interact with external applications such as booking systems, CRMs, or databases. Use Tool Actions when the agent needs to perform operations outside the conversation. Toolcall To configure: 1. Select **Tool Action** from the node panel or from the **Response node → Add Function** Toolcallrn 2. Select the **App / Tool** 3. Select the **Action** 4. Add a **Description(optional)** 5. Configure the required fields Example actions: ```text theme={null} get_available_slots book_appointment update_crm ``` Toolcall 1 *** # Function Description (Optional) Each function includes a **Description** field that explains when the agent should call the function. Example: ```text theme={null} Call this function after collecting the appointment date. ``` This helps the AI agent determine the correct moment to trigger the action. # Extract Variables Source: https://docs.sigmamind.ai/documentation/agents/add-advance-nodes/extract-variables The **Extract Variables** node allows the agent to capture important information from a conversation and store it as variables that can be reused later in the workflow. These variables can be used in responses, integrations, tool actions, or helpdesk operations. Extracting structured data from user input is a common capability in AI workflow systems, where natural language is converted into reusable parameters for automation and integrations. Extractvariable 1 *** # When to Use Use **Extract Variables** when the agent needs to capture information during an ongoing conversation. Common examples include: * Customer name * Phone number * Email address * Appointment date * Order ID * Service request These values can later be used in other nodes such as **Tool Action**, **Helpdesk Action**, or **Response** nodes. *** # How to Add the Node In Conversational Flow, you can add **Extract Variables** in two ways: **Option 1 — From the Node Panel** 1. Select **Extract Variables** from the left node panel 2. The node appears on the workflow canvas 3. Configure the variables to extract **Option 2 — From a Response Node** 1. Open the **Response** node 2. Select **Add Function** 3. Select **Extract Variables** 4. Configure the variables Both methods perform the same function. *** # Defining Variables Variables must always be written using **double curly braces**. Example format: ```text theme={null} {{variable_name}} ``` Example variables: ```text theme={null} {{customer_name}} {{phone_number}} {{appointment_date}} {{order_id}} ``` During the conversation, the AI agent automatically detects and extracts these values from the user's message. *** # Example Workflow Example scenario: User message: ```text theme={null} Hi, my name is Rahul Sharma and I want to book an appointment tomorrow. ``` Extracted variables: ```text theme={null} {{customer_name}} → Rahul Sharma {{appointment_date}} → Tomorrow ``` These values can now be used in later workflow steps. *** # Using Extracted Variables Once extracted, variables can be used in different nodes across the workflow. Example usage in a response: ```text theme={null} Thanks {{customer_name}}. Your appointment is scheduled for {{appointment_date}}. ``` Example usage in a tool action: ```text theme={null} book_appointment customer_name: {{customer_name}} date: {{appointment_date}} ``` *** # Best Practices * Use clear variable names such as `customer_name` or `appointment_date` * Extract only the information required for the workflow * Reuse variables across multiple nodes to avoid asking the same question again * Keep variable names consistent across the agent ``` # Markdown Syntax Source: https://docs.sigmamind.ai/essentials/markdown Text, title, and styling in standard markdown ## Titles Best used for section headers. ```md theme={null} ## Titles ``` ### Subtitles Best use to subsection headers. ```md theme={null} ### Subtitles ``` Each **title** and **subtitle** creates an anchor and also shows up on the table of contents on the right. ## Text Formatting We support most markdown formatting. Simply add `**`, `_`, or `~` around text to format it. | Style | How to write it | Result | | ------------- | ----------------- | ----------------- | | Bold | `**bold**` | **bold** | | Italic | `_italic_` | *italic* | | Strikethrough | `~strikethrough~` | ~~strikethrough~~ | You can combine these. For example, write `**_bold and italic_**` to get ***bold and italic*** text. You need to use HTML to write superscript and subscript text. That is, add `` or `` around your text. | Text Size | How to write it | Result | | ----------- | ------------------------ | ---------------------- | | Superscript | `superscript` | superscript | | Subscript | `subscript` | subscript | ## Linking to Pages You can add a link by wrapping text in `[]()`. You would write `[link to google](https://google.com)` to [link to google](https://google.com). Links to pages in your docs need to be root-relative. Basically, you should include the entire folder path. For example, `[link to text](/writing-content/text)` links to the page "Text" in our components section. Relative links like `[link to text](../text)` will open slower because we cannot optimize them as easily. ## Blockquotes ### Singleline To create a blockquote, add a `>` in front of a paragraph. > Dorothy followed her through many of the beautiful rooms in her castle. ```md theme={null} > Dorothy followed her through many of the beautiful rooms in her castle. ``` ### Multiline > Dorothy followed her through many of the beautiful rooms in her castle. > > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood. ```md theme={null} > Dorothy followed her through many of the beautiful rooms in her castle. > > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood. ``` ### LaTeX Mintlify supports [LaTeX](https://www.latex-project.org) through the Latex component. 8 x (vk x H1 - H2) = (0,1) ```md theme={null} 8 x (vk x H1 - H2) = (0,1) ``` # Navigation Source: https://docs.sigmamind.ai/essentials/navigation The navigation field in docs.json defines the pages that go in the navigation menu The navigation menu is the list of links on every website. You will likely update `docs.json` every time you add a new page. Pages do not show up automatically. ## Navigation syntax Our navigation syntax is recursive which means you can make nested navigation groups. You don't need to include `.mdx` in page names. ```json Regular Navigation theme={null} "navigation": { "tabs": [ { "tab": "Docs", "groups": [ { "group": "Getting Started", "pages": ["quickstart"] } ] } ] } ``` ```json Nested Navigation theme={null} "navigation": { "tabs": [ { "tab": "Docs", "groups": [ { "group": "Getting Started", "pages": [ "quickstart", { "group": "Nested Reference Pages", "pages": ["nested-reference-page"] } ] } ] } ] } ``` ## Folders Simply put your MDX files in folders and update the paths in `docs.json`. For example, to have a page at `https://yoursite.com/your-folder/your-page` you would make a folder called `your-folder` containing an MDX file called `your-page.mdx`. You cannot use `api` for the name of a folder unless you nest it inside another folder. Mintlify uses Next.js which reserves the top-level `api` folder for internal server calls. A folder name such as `api-reference` would be accepted. ```json Navigation With Folder theme={null} "navigation": { "tabs": [ { "tab": "Docs", "groups": [ { "group": "Group Name", "pages": ["your-folder/your-page"] } ] } ] } ``` ## Hidden Pages MDX files not included in `docs.json` will not show up in the sidebar but are accessible through the search bar and by linking directly to them. # Reusable Snippets Source: https://docs.sigmamind.ai/essentials/reusable-snippets Reusable, custom snippets to keep content in sync One of the core principles of software development is DRY (Don't Repeat Yourself). This is a principle that apply to documentation as well. If you find yourself repeating the same content in multiple places, you should consider creating a custom snippet to keep your content in sync. ## Creating a custom snippet **Pre-condition**: You must create your snippet file in the `snippets` directory. Any page in the `snippets` directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component. ### Default export 1. Add content to your snippet file that you want to re-use across multiple locations. Optionally, you can add variables that can be filled in via props when you import the snippet. ```mdx snippets/my-snippet.mdx theme={null} Hello world! This is my content I want to reuse across pages. My keyword of the day is {word}. ``` The content that you want to reuse must be inside the `snippets` directory in order for the import to work. 2. Import the snippet into your destination file. ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import MySnippet from '/snippets/path/to/my-snippet.mdx'; ## Header Lorem impsum dolor sit amet. ``` ### Reusable variables 1. Export a variable from your snippet file: ```mdx snippets/path/to/custom-variables.mdx theme={null} export const myName = 'my name'; export const myObject = { fruit: 'strawberries' }; ``` 2. Import the snippet from your destination file and use the variable: ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import { myName, myObject } from '/snippets/path/to/custom-variables.mdx'; Hello, my name is {myName} and I like {myObject.fruit}. ``` ### Reusable components 1. Inside your snippet file, create a component that takes in props by exporting your component in the form of an arrow function. ```mdx snippets/custom-component.mdx theme={null} export const MyComponent = ({ title }) => (

{title}

... snippet content ...

); ``` MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX. 2. Import the snippet into your destination file and pass in the props ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import { MyComponent } from '/snippets/custom-component.mdx'; Lorem ipsum dolor sit amet. ``` # Global Settings Source: https://docs.sigmamind.ai/essentials/settings Mintlify gives you complete control over the look and feel of your documentation using the docs.json file Every Mintlify site needs a `docs.json` file with the core configuration settings. Learn more about the [properties](#properties) below. ## Properties Name of your project. Used for the global title. Example: `mintlify` An array of groups with all the pages within that group The name of the group. Example: `Settings` The relative paths to the markdown files that will serve as pages. Example: `["customization", "page"]` Path to logo image or object with path to "light" and "dark" mode logo images Path to the logo in light mode Path to the logo in dark mode Where clicking on the logo links you to Path to the favicon image Hex color codes for your global theme The primary color. Used for most often for highlighted content, section headers, accents, in light mode The primary color for dark mode. Used for most often for highlighted content, section headers, accents, in dark mode The primary color for important buttons The color of the background in both light and dark mode The hex color code of the background in light mode The hex color code of the background in dark mode Array of `name`s and `url`s of links you want to include in the topbar The name of the button. Example: `Contact us` The url once you click on the button. Example: `https://mintlify.com/docs` Link shows a button. GitHub shows the repo information at the url provided including the number of GitHub stars. If `link`: What the button links to. If `github`: Link to the repository to load GitHub information from. Text inside the button. Only required if `type` is a `link`. Array of version names. Only use this if you want to show different versions of docs with a dropdown in the navigation bar. An array of the anchors, includes the `icon`, `color`, and `url`. The [Font Awesome](https://fontawesome.com/search?q=heart) icon used to feature the anchor. Example: `comments` The name of the anchor label. Example: `Community` The start of the URL that marks what pages go in the anchor. Generally, this is the name of the folder you put your pages in. The hex color of the anchor icon background. Can also be a gradient if you pass an object with the properties `from` and `to` that are each a hex color. Used if you want to hide an anchor until the correct docs version is selected. Pass `true` if you want to hide the anchor until you directly link someone to docs inside it. One of: "brands", "duotone", "light", "sharp-solid", "solid", or "thin" Override the default configurations for the top-most anchor. The name of the top-most anchor Font Awesome icon. One of: "brands", "duotone", "light", "sharp-solid", "solid", or "thin" An array of navigational tabs. The name of the tab label. The start of the URL that marks what pages go in the tab. Generally, this is the name of the folder you put your pages in. Configuration for API settings. Learn more about API pages at [API Components](/api-playground/demo). The base url for all API endpoints. If `baseUrl` is an array, it will enable for multiple base url options that the user can toggle. The authentication strategy used for all API endpoints. The name of the authentication parameter used in the API playground. If method is `basic`, the format should be `[usernameName]:[passwordName]` The default value that's designed to be a prefix for the authentication input field. E.g. If an `inputPrefix` of `AuthKey` would inherit the default input result of the authentication field as `AuthKey`. Configurations for the API playground Whether the playground is showing, hidden, or only displaying the endpoint with no added user interactivity `simple` Learn more at the [playground guides](/api-playground/demo) Enabling this flag ensures that key ordering in OpenAPI pages matches the key ordering defined in the OpenAPI file. This behavior will soon be enabled by default, at which point this field will be deprecated. A string or an array of strings of URL(s) or relative path(s) pointing to your OpenAPI file. Examples: ```json Absolute theme={null} "openapi": "https://example.com/openapi.json" ``` ```json Relative theme={null} "openapi": "/openapi.json" ``` ```json Multiple theme={null} "openapi": ["https://example.com/openapi1.json", "/openapi2.json", "/openapi3.json"] ``` An object of social media accounts where the key:property pair represents the social media platform and the account url. Example: ```json theme={null} { "x": "https://x.com/mintlify", "website": "https://mintlify.com" } ``` One of the following values `website`, `facebook`, `x`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news` Example: `x` The URL to the social platform. Example: `https://x.com/mintlify` Configurations to enable feedback buttons Enables a button to allow users to suggest edits via pull requests Enables a button to allow users to raise an issue about the documentation Customize the dark mode toggle. Set if you always want to show light or dark mode for new users. When not set, we default to the same mode as the user's operating system. Set to true to hide the dark/light mode toggle. You can combine `isHidden` with `default` to force your docs to only use light or dark mode. For example: ```json Only Dark Mode theme={null} "modeToggle": { "default": "dark", "isHidden": true } ``` ```json Only Light Mode theme={null} "modeToggle": { "default": "light", "isHidden": true } ``` A background image to be displayed behind every page. See example with [Infisical](https://infisical.com/docs) and [FRPC](https://frpc.io). # Examples Source: https://docs.sigmamind.ai/examples # Examples ## Cards in a column layout This is an example of a card with an icon and a link. Clicking on this card brings you to the Columns page. This is an example of a card with an icon and a link. Clicking on this card brings you to the Columns page. This is an example of a card with an image. ☝️ Welcome to the content that you can only see inside the first tab. You can add any number of components inside of tabs. For example, a code block: ```java HelloWorld.java theme={null} class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` ✌️ Here's content that's only inside the second tab. This one has a icon! 💪 Here's content that's only inside the third tab. # Extract Dynamic Variables Source: https://docs.sigmamind.ai/extract-dynamic-variable The **Extract Dynamic Variables** tool captures specific values spoken by the customer during a live call and stores them as named variables. Once captured, these variables are available as `{{variable_name}}` in any tool or prompt within the same agent — no manual mapping required. Extract > Extracted variables are available as `{{variable_name}}` in any tool or prompt in this agent. *** ## When to Use Configure this tool when your agent needs to: * Capture a customer's name, email, or phone number from conversation * Store a policy number, account ID, or booking reference before an API call * Record a preferred date, time, or department for downstream routing * Save any value the customer provides that another tool will need later *** ## Steps to Add 1. Open the **Agent Builder** 2. Click **+ Add Tool** 3. Select **Extract Dynamic Variables** from the tool menu 4. A configuration modal will appear — fill in all fields (described below) 5. Click **Add to Agent** *** ## Configuration Fields ### Instruction *(When this tool should be invoked)* Write a clear instruction that tells the AI agent when to trigger the extraction. The agent reads this and decides at each turn of the conversation whether the condition has been met. ```text theme={null} Invoke this tool after the user provides their name and address. ``` ```text theme={null} Extract variables once the customer confirms their policy number and preferred callback time. ``` Be specific about what the customer must have said before extraction happens. Vague instructions like *"extract when needed"* cause the tool to fire at the wrong moment. *** ### Variables Each variable you want to capture is defined as a row with three fields: #### `variable_name` The identifier you will use to reference this value everywhere else in the agent. Must be in `snake_case` with no spaces. ```text theme={null} customer_name policy_number preferred_date callback_number vehicle_type ``` Use descriptive names that clearly state what value is stored. Avoid short or ambiguous names like `val1` or `x` — they become confusing when used across multiple tools. #### Datatype The expected format of the captured value. Selecting the correct datatype helps the agent extract and validate the value accurately. | Datatype | Description | Example | | --------- | ---------------------------------- | ----------------------------- | | `string` | Any text value | `"John Smith"`, `"POL-98271"` | | `number` | Numeric value (integer or decimal) | `1200`, `3.5` | | `date` | A calendar date | `"2026-06-10"` | | `boolean` | True or false | `true`, `false` | When in doubt, use `string` — it is the most flexible and works for most values including phone numbers, IDs, and reference codes. #### What this captures *(description)* A short, plain-language description of exactly what this variable should contain. The agent uses this description to understand what to listen for in the conversation. ```text theme={null} caller's name customer's 10-digit policy number preferred callback date vehicle make and model whether the customer agreed to the renewal ``` Write this as if you are explaining it to someone who doesn't know the product. The clearer this is, the more accurately the agent extracts the right value. *** ### Adding Multiple Variables Click **+ Add variable** to add more rows. Each row captures a different value from the conversation. You can add as many variables as needed in a single tool call. For example, an insurance renewal agent might capture all of the following in one extraction: | variable\_name | Datatype | What this captures | | ------------------- | -------- | ---------------------------------------------- | | `customer_name` | string | caller's full name | | `policy_number` | string | 8-digit policy reference number | | `vehicle_reg` | string | vehicle registration plate | | `renewal_confirmed` | boolean | whether the customer agreed to renew | | `preferred_payment` | string | preferred payment method (card, bank transfer) | *** ## Variable Format Once defined, variables are referenced using double curly braces throughout the agent: ```text theme={null} {{variable_name}} ``` They work anywhere inside the agent — in prompts, in tool instructions, in API endpoint URLs, in request body fields, and in header values. **In a prompt:** ```text theme={null} You are speaking with {{customer_name}}. Their policy number is {{policy_number}}. ``` **In an API endpoint URL:** ```text theme={null} https://api.example.com/policies/{{policy_number}} ``` **In a request body:** ```json theme={null} { "name": "{{customer_name}}", "policy": "{{policy_number}}", "renewal": {{renewal_confirmed}} } ``` *** ## Extraction Timing The agent extracts variables at the moment the instruction condition is met — not before. This means: * The agent listens through the conversation normally * When the trigger condition is satisfied (e.g., customer provides their name), the tool fires * Extracted values are immediately available to all subsequent tools and prompts in the agent Configure the Instruction carefully to ensure extraction happens at the right point — after the customer has provided the value, not before. *** ## Real-World Example **Scenario:** An outbound insurance renewal agent that needs to confirm the customer's identity and capture their renewal decision before making an API call. **Instruction:** ```text theme={null} Invoke this tool after the customer confirms their name and policy number, and has given a clear yes or no to the renewal offer. ``` **Variables:** | variable\_name | Datatype | What this captures | | ------------------ | -------- | ----------------------------------------- | | `customer_name` | string | customer's full name as stated | | `policy_number` | string | policy reference number (e.g., POL-XXXXX) | | `renewal_decision` | boolean | whether the customer agreed to renew | **Conversation flow:** ```text theme={null} Agent: "Can I confirm your name and policy number?" Customer: "Yes, I'm Priya Sharma. Policy number POL-44821." Agent: "Would you like to renew your policy for another year?" Customer: "Yes, please go ahead." → voice_extract_dynamic_variables fires → customer_name = "Priya Sharma" → policy_number = "POL-44821" → renewal_decision = true → Next tool (API call) uses {{customer_name}} and {{policy_number}} to update the system ``` *** ## Best Practices * Use `snake_case` for all variable names — no spaces, hyphens, or capital letters * Write specific **What this captures** descriptions — the agent reads these literally to know what to listen for * Add all related variables in a single tool rather than creating multiple extraction tools for the same conversation segment *** ## Troubleshooting | Issue | Fix | | ----------------------------------- | -------------------------------------------------------------------------------- | | Variable not being extracted | Make the Instruction more specific — add explicit trigger phrases | | Wrong value captured | Improve the **What this captures** description to be more precise | | Variable shows as empty in API call | Check that the extraction tool runs before the API tool in the conversation flow | | Agent extracts too early | Tighten the Instruction to require more of the conversation to complete first | *** ## Combining with Other Tools | | How Variables Flow | | ------------------------ | --------------------------------------------------------------------- | | **Transfer Call** | Pass `{{customer_name}}` and context in Whisper Message | | **Add Integration Tool** | Use `{{policy_number}}` or `{{customer_id}}` in API endpoint and body | | **Navigate IVR** | Route using extracted `{{department_preference}}` | | **End Call** | Reference extracted confirmation to decide when to close | # Five9 Integration Guide Source: https://docs.sigmamind.ai/five9-integration-guide Connect Five9 to the SigmaMind Voice AI platform. Five9 dials your customers, bridges each answered call to a SigmaMind AI agent in real time, and hands qualified calls back to a live Five9 agent with full context. ## How It Works ```text theme={null} Five9 Campaign dials customer │ Customer answers │ Five9 IVR Script runs (3rd Party Transfer module) │ Five9 transfers the call to the SigmaMind SIP server (+1XXXXXXXXXX@28y698lhv2f.sip.livekit.cloud) │ SigmaMind receives inbound SIP call │ SigmaMind Voice AI Agent speaks with the customer │ AI qualifies the lead │ Call handed back to a Five9 agent (Skill / ACD queue) │ Agent resumes the conversation with full context ``` Unlike VICIdial, Five9 is a closed cloud contact center — you do not configure an Asterisk dialplan or a Remote Agent. Instead, the handoff to SigmaMind is performed by a **3rd Party Transfer** module inside a Five9 **IVR Script**, and the handoff back to a human agent is performed either by Five9 reclaiming the call (`Return After 3rd Party Call`) or by SigmaMind transferring into a Five9 inbound number. Both patterns are covered below. On the SigmaMind side, only one inbound SIP call is ever visible — exactly as with VICIdial. The number used in the Five9 transfer is the number you register in SigmaMind under **Phone Numbers → Connect via SIP Trunking**, entering your carrier or trunk's SIP termination URI in the **Terminal URI** field and mapping an AI agent against it. SigmaMind identifies the correct tenant and AI agent by matching the incoming call's number against the number you registered. *** ## SigmaMind SIP Server Details All calls from Five9 to SigmaMind are directed to the following SIP server: | Field | Value | | ------------------------- | -------------------------------------------- | | **SIP Server URI** | `28y698lhv2f.sip.livekit.cloud` | | **Full Dial Destination** | `+1XXXXXXXXXX@28y698lhv2f.sip.livekit.cloud` | | **Transport** | UDP, TCP, or TLS | | **Media Encryption** | SRTP supported | Replace `+1XXXXXXXXXX` with the number Five9 will transfer the call to — the same number you register in SigmaMind under **Phone Numbers → Connect via SIP Trunking**, where: * **Phone Number** = the number Five9 dials when it hands the call to SigmaMind * **Terminal URI** = your carrier or trunk's SIP termination URI (e.g. `f111.dialmake.com`) — this points **back to your telephony provider / trunk**, not to SigmaMind The SigmaMind SIP server (`28y698lhv2f.sip.livekit.cloud`) is what **Five9 transfers into** — it belongs in your Five9 routing only, not in this SigmaMind dashboard field. SigmaMind does **not** support static IP whitelisting on its global SIP endpoint. Five9 requires IP-anchored connectivity for direct SIP trunks, so production Five9 deployments use one of the connection methods described next. See the [SIP Trunking page](/documentation/phone-number/sip-integration/sip-trunking) for full SIP server requirements. *** ## Choose Your Connection Method Because Five9 is a managed cloud platform, the call has to physically reach the SigmaMind SIP server through one of two paths. Pick the one that matches your deployment. ### Method A — Dedicated SIP trunk via Five9 Point of Presence (recommended for production) SigmaMind connects to your Five9 environment over a dedicated SIP trunk peered with the Five9 **Point of Presence (PoP)** serving your account. This keeps call media on a single, direct SIP path — no third-party carrier hop in the middle — which gives the lowest latency, the cleanest audio for the AI, and a static, allowlistable connection that passes enterprise security review. Dedicated PoP trunking is provisioned with assistance from SigmaMind. To set it up, contact SigmaMind support and your Five9 specialist. Provisioning involves cross-allowlisting between the Five9 PoP and SigmaMind's regional SIP endpoints and is coordinated by both teams. Availability depends on the Five9 PoP region serving your account. Use this method when: * You are running production traffic at volume. * Your security team requires static IP allowlisting for SIP. * You want to avoid per-minute carrier charges on the AI leg. ### Method B — SIP trunk via your own carrier (Twilio / Telnyx Elastic SIP) You front SigmaMind with an Elastic SIP Trunk on a carrier that SigmaMind already supports (Twilio or Telnyx). Five9 transfers the call to a number on that trunk, and the trunk's **Origination URI** forwards the call into the SigmaMind SIP server. This is the fastest way to get a working proof of concept and requires nothing special on the Five9 side beyond a standard transfer. Use this method when: * You are building a pilot or proof of concept. * You do not yet need a dedicated PoP trunk. * You already operate a Twilio or Telnyx SIP trunk. With Method B, the carrier (Twilio/Telnyx) sits in the path as the SIP gateway. Configure its **Origination URI** to `sip:28y698lhv2f.sip.livekit.cloud` so inbound calls reach SigmaMind, and enable **SRTP**. See the [Twilio SIP Trunking guide](/documentation/phone-number/sip-integration/providers/twilio) or [Telnyx SIP Trunking guide](/documentation/phone-number/sip-integration/providers/telnyx). *** ## Prerequisites Before starting, confirm you have the following ready: * Admin access to your Five9 **VCC Administrator** (Campaigns, IVR Scripts, Skills, Connectors). * A SigmaMind account with at least one AI agent configured and published. * A connection method selected (Method A or Method B above), and the corresponding trunk provisioned: * **Method A** — a dedicated PoP trunk arranged with SigmaMind support and your Five9 specialist. * **Method B** — a Twilio or Telnyx Elastic SIP Trunk with its Origination URI pointed at `sip:28y698lhv2f.sip.livekit.cloud` and SRTP enabled. * The number Five9 will transfer to, **registered in SigmaMind** under **Phone Numbers → Connect via SIP Trunking**, with an AI agent mapped against it. * The **SigmaMind SIP server**: `28y698lhv2f.sip.livekit.cloud`. * Your Five9 **Campaign** type confirmed (Outbound: Predictive / Power / Progressive / Preview). * A Five9 **Skill / ACD queue** for the human agents who will take qualified transfers. **Testing from outside the US:** If you are testing from a region with strict telecom geofencing, your local carrier may block calls to or from US numbers. Use a softphone (such as Zoiper) registered to your trunk to place a test call into the SigmaMind SIP server directly, bypassing carrier-level restrictions. See [Testing with a Softphone](#testing-with-a-softphone) below. *** ## Before You Begin: Register Your Number in SigmaMind Before configuring Five9, register the number Five9 will transfer to in SigmaMind so that SigmaMind can receive the inbound SIP call and know which AI agent to connect. In your SigmaMind dashboard, navigate to **Phone Numbers** and click **Add Phone Number**. In the **Add Phone Number** dialog, select the **Connect via SIP Trunking** tab. Enter the following: | Field | Value | | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | **Phone Number** | The number Five9 will transfer to (e.g. `+13453453453`) | | **Terminal URI** | Your carrier or trunk's SIP termination URI (e.g. `f111.dialmake.com`) — provided by your telephony carrier, not by SigmaMind | | **SIP Trunk User Name** | Optional — enter only if your carrier requires SIP authentication | | **SIP Trunk Password** | Optional — enter only if your carrier requires SIP authentication | The **Terminal URI** points back to your telephony carrier or trunk — it is the address used to terminate SIP calls when the AI agent transfers a call back out. It is **not** the SigmaMind SIP server. The SigmaMind SIP server (`28y698lhv2f.sip.livekit.cloud`) is what Five9 transfers into — it belongs in your Five9 configuration only. Click **Save**. Once the number is registered, assign an AI agent to it. SigmaMind will use this mapping to identify which agent to connect whenever a call arrives on this number from Five9. *** ## Step 1: Create the Inbound IVR Script in Five9 In Five9, the decision to send an answered customer to SigmaMind is made by an **IVR Script** bound to your campaign. The module that performs the handoff is the **3rd Party Transfer** module. In the Five9 VCC Administrator, go to **IVR Scripts** and create a new script (e.g. `SigmaMind-FirstTouch`). Add a **Query** module that calls the SigmaMind API to register a correlation reference for this call. Configure an **Authorization Profile** for your SigmaMind API key, set the request body to include a correlation ID and the caller's ANI, and parse the response into IVR variables using a RegEx function. This step lets you fetch the AI's outcome later (see Step 5) to drive the handoff-back decision and the agent screen pop. Drag a **3rd Party Transfer** module onto the canvas. This is the module that hands the customer to SigmaMind. Configure the destination: * **Method A (dedicated PoP trunk):** set the **3rd party number** to the SigmaMind number you registered. The number must be registered with Five9 so the call egresses over the dedicated SIP trunk (rather than the public PSTN). * **Method B (carrier trunk):** set the **3rd party number** to the DID on your Twilio/Telnyx trunk whose Origination URI forwards to `sip:28y698lhv2f.sip.livekit.cloud`. Select the **Send Data to 3rd Party** checkbox and choose the **KVList** variable that holds the lead fields you want to pass to SigmaMind. Five9 serializes this list into custom SIP headers on the transfer. Name your keys with an `X-` prefix (e.g. `X-first_name`, `X-city`) so SigmaMind exposes them as dynamic variables — see Step 3. If you want Five9 to take the customer back after the AI finishes and route to a human agent itself (the recommended handoff pattern — see Step 5, Option A), select the **Return After 3rd Party Call** checkbox. When the AI ends its leg, control returns to this IVR script at the node after the transfer. Leave this **unchecked** if you instead want SigmaMind to perform the transfer to a Five9 agent (Step 5, Option B). Save the script. *** ## Step 2: Bind the Campaign Connect the IVR Script to the campaign that dials your customers. Go to **Campaigns** and open the outbound campaign that will dial your list (Predictive, Power, Progressive, or Preview). Configure the campaign so that connected (answered) calls are routed to the `SigmaMind-FirstTouch` IVR Script you created in Step 1. Set the **Caller ID** customers will see. For initial testing, use conservative dial pacing and increase it only after confirming the end-to-end flow. Save the campaign. *** ## Step 3: Pass Lead Data via SIP Headers (Optional but Recommended) You can pass Five9 lead fields — customer name, city, state, phone number, account ID — to SigmaMind via custom SIP headers. SigmaMind reads these on the inbound SIP call and makes them available as dynamic variables your AI agent can use in its prompt. This is the same mechanism used in the VICIdial integration. ### How SigmaMind reads SIP headers SigmaMind automatically processes any inbound SIP header that starts with `X-` or `x-`. It strips the prefix and exposes the remainder as a dynamic variable. For example: | SIP Header | Variable in SigmaMind | | --------------------------- | --------------------- | | `X-customer_name: John Doe` | `{{customer_name}}` | | `X-city: Denver` | `{{city}}` | | `X-account_id: 12345` | `{{account_id}}` | ### Configuring SIP headers in Five9 Five9 sends custom SIP headers when **Send Data to 3rd Party** is enabled on the 3rd Party Transfer module (Step 1). The headers come from the **KVList** variable you select. **Part A — Test with a static value first** In your IVR Script, populate the KVList with a single static key whose name starts with `X-`: ```text theme={null} X-city: Denver ``` After a test call, go to **Conversations → \[the call] → Dynamic Variables** in SigmaMind. You should see `city: Denver`. If it appears, the pipeline is confirmed. **Part B — Pass dynamic lead field values** Once static headers work, replace the static values with Five9 lead/contact field variables in the KVList. Common fields you may want to pass: ```text theme={null} X-first_name: [Five9 contact field] X-last_name: [Five9 contact field] X-city: [Five9 contact field] X-state: [Five9 contact field] X-phone_number: [Five9 contact field] ``` Header names must start with `X-`. SigmaMind strips the `X-` prefix to create the variable name — so `X-city` becomes `{{city}}` in your agent prompt. Keep the KVList lean; pass a correlation ID and the few fields the agent needs, and fetch anything larger over the API. For full details see the [SIP Custom Header guide](/documentation/agents/add-advance-nodes/howto-use-sip-custom-header). **Part C — Reference variables in your SigmaMind agent prompt** In your SigmaMind agent's system prompt, reference the variables using double-curly-brace syntax: ```text theme={null} You are calling {{first_name}} {{last_name}} located in {{city}}, {{state}}. Their callback number is {{phone_number}}. ``` SigmaMind substitutes these at call time with the values received via SIP headers. *** ## Step 4: Configure the AI Agent's Conversation and Qualification In SigmaMind, your AI agent handles the first-touch conversation: qualifying the lead, collecting information, answering questions, and deciding whether a human is needed. Write the agent's system prompt to qualify the lead against your criteria and to commit the qualification outcome (for example, by calling a tool or webhook) before the conversation ends. * **For Option A (Five9 reclaims the leg):** the agent should end its own leg cleanly when finished (using the **End Call** voice action). This is what triggers Five9's `Return After 3rd Party Call` to resume. * **For Option B (AI transfers to a Five9 agent):** the agent should invoke the **Transfer Call** voice action toward your Five9 inbound number (see Step 5, Option B). Ensure the qualification result is written back (via the SigmaMind API or a webhook) immediately before the agent ends or transfers, so the data is available to Five9 for routing and the agent screen pop. *** ## Step 5: Configure the Handoff Back to a Five9 Agent When the AI qualifies the call, it needs to reach a live Five9 agent. There are two patterns. Choose one based on whether you want Five9 or SigmaMind to own the handoff. ### Option A — Return After 3rd Party Call (recommended) Five9 keeps ownership of the customer the entire time and takes the call back after the AI finishes. This is the cleanest pattern: no second call leg is created, and it works natively within Five9's routing. In the 3rd Party Transfer module (Step 1), confirm **Return After 3rd Party Call** is checked. After the transfer node, add a **Query** module that calls the SigmaMind API to retrieve the qualification outcome for this call (using the correlation reference you set in Step 1). Parse the result into IVR variables. Add a **Case** module that branches on the qualification result — for example, `qualified` vs `not_qualified`. For qualified calls, add a **Skill Transfer** module that routes the customer into the appropriate **Skill / ACD queue**. Five9 assigns the call to an available agent, and the call variables you populated (summary, intent, lead fields) appear in the agent's **screen pop**. For non-qualified outcomes, disposition the call appropriately (e.g. end the call, schedule a callback, or add to a Do Not Call list). ### Option B — SigmaMind transfers to a Five9 inbound number SigmaMind performs the transfer itself by dialing a Five9 inbound number (DNIS) that lands in a Five9 inbound campaign. Use this when you want a spoken, consultative (warm) handoff where the AI briefs the agent before connecting, or when `Return After 3rd Party Call` is not used. Create an **Inbound Campaign**, bind it to an inbound IVR Script, and set its **DNIS** to the number SigmaMind will dial. The inbound IVR Script routes the call into your **Skill / ACD queue**. In your AI agent, configure the **Transfer Call** voice action with the Five9 inbound number in E.164 format as the destination. Choose: * **Cold transfer** — the AI connects the customer to the queue and exits. * **Warm transfer** — the AI connects the agent first, plays a whisper message summarizing the call, then bridges the customer. In the inbound IVR Script, add a **Query** module to fetch the AI's summary from SigmaMind (by correlation reference or ANI) and populate call variables for the agent screen pop, then route via **Skill Transfer**. Both options deliver the AI's qualification and summary to the agent through Five9 **call variables** rendered in the **Agent Desktop screen pop**. The voice path carries a correlation reference; the rich summary is fetched from the SigmaMind API. Do not attempt to pass a full transcript through SIP headers. *** ## Step 6: Test the Integration End-to-End Run the outbound campaign against a single test lead, or place a test call through your trunk. Answer on your test phone. Your SigmaMind AI agent should begin speaking shortly after you answer. Speak a response and confirm the conversation flows naturally in both directions. After the call, go to **Conversations → \[the call] → Dynamic Variables** in SigmaMind and confirm the lead fields you passed via SIP headers appear. Trigger a qualifying outcome and confirm the call reaches a Five9 agent: * **Option A:** confirm the IVR resumes after the AI ends, the Case branch routes to the Skill, and an agent rings with the screen pop populated. * **Option B:** confirm the AI transfers to the Five9 inbound number, the whisper plays to the agent (warm), and the customer is bridged. Confirm the call appears in SigmaMind **Conversations** (with transcript and recording) and in your Five9 reporting (with the agent disposition). *** ## Testing with a Softphone If you are testing from a region where carrier-level geofencing prevents calls to or from US numbers, use a softphone registered to your trunk to dial the SigmaMind SIP server directly. This confirms SigmaMind picks up and the AI responds without needing a full Five9 campaign dial. **Recommended softphone:** [Zoiper](https://www.zoiper.com) (free tier is sufficient for testing) Download and install Zoiper on your test device. In Zoiper, add a SIP account pointing to your trunk (Twilio/Telnyx for Method B, or the dedicated trunk for Method A), using the credentials your trunk provides. Dial the registered SigmaMind number through the trunk so the call routes to `28y698lhv2f.sip.livekit.cloud`. Confirm SigmaMind picks up and the AI agent responds. *** ## Troubleshooting ### 1. The transferred call does not reach SigmaMind * Confirm the **3rd party number** in the 3rd Party Transfer module matches the number registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking**, and that an active, published AI agent is mapped against it. * **Method A:** confirm the number is registered with Five9 so the call egresses over the dedicated SIP trunk, not the public PSTN. * **Method B:** confirm the carrier trunk's **Origination URI** is `sip:28y698lhv2f.sip.livekit.cloud` and that **SRTP** is enabled. * Go to **Conversations** in SigmaMind — if the call appears there, the SIP connection is working and the issue is on the SigmaMind agent configuration side. ### 2. The customer hears ringing or silence before the AI speaks * A brief delay can occur while Five9 establishes the transfer leg. Because Five9 confirms a live answer before running the IVR Script, the customer should not experience a long wait, but verify your campaign's answer-detection settings. * If silence persists, check codec and media settings on the trunk — prefer **G.711 µ-law** end to end to avoid transcoding. ### 3. Dynamic variables are not appearing in SigmaMind * Test with a **static header value first** — if the static value does not appear in SigmaMind Dynamic Variables, the SIP header is not being sent from Five9. Confirm **Send Data to 3rd Party** is enabled and the correct **KVList** is selected. * Confirm the header name starts with `X-` — SigmaMind only processes headers with this prefix. * The variable name in SigmaMind is the header name with `X-` stripped (e.g. `X-city` becomes `{{city}}`). * Variables only appear in **Conversations → Dynamic Variables** if they are referenced in the agent prompt. Add `{{city}}` to the agent prompt and re-test. ### 4. The AI finishes but Five9 does not route to an agent (Option A) * Confirm **Return After 3rd Party Call** is checked on the 3rd Party Transfer module. * Confirm the AI agent ends its own leg cleanly (using the **End Call** voice action) — this is what triggers the return. * Confirm the **Query** module after the transfer successfully retrieves the outcome, and that the **Case** module branches to the **Skill Transfer**. * Confirm the qualification outcome was committed by the agent before it ended (Step 4). ### 5. The agent receives no context on screen pop * Confirm the outcome/summary was written back to SigmaMind before the AI ended or transferred. * Confirm the **Query** module populates the Five9 call variables that your Agent Desktop screen pop is configured to display. * Confirm the correlation reference matches on both sides. ### 6. Call completes but no record appears in SigmaMind Conversations * Confirm the transferred-to number matches the number registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking**. * Confirm that number has an active, published AI agent mapped against it. *** ## How Call Transfers Work SigmaMind handles transfers natively. The behavior depends on which handoff option you configured: * **Option A (Return After 3rd Party Call):** the AI ends its leg, and Five9 — which kept ownership of the customer the whole time — resumes its IVR Script and routes the customer to a Skill/agent. No second call leg is created, and the customer experiences a seamless continuation. * **Option B (AI-initiated transfer):** the AI dials your Five9 inbound number and connects the customer (cold), or briefs the agent and then bridges the customer (warm). Your existing caller ID and trunk remain in the path. In both cases the human agent resumes the conversation with the AI's qualification and summary available on screen. *** ## How Multiple Agents Work To route different Five9 campaigns to different SigmaMind AI agents: 1. In SigmaMind, go to **Phone Numbers → Connect via SIP Trunking** and register a separate number for each campaign, entering the Terminal URI for each, and mapping each to the correct AI agent. 2. In Five9, create a separate IVR Script (or a separate 3rd Party Transfer destination) per campaign, transferring to the corresponding registered number. 3. Bind each IVR Script to the relevant campaign. Each campaign routes through its own transfer destination, which reaches SigmaMind on its own registered number, which connects the corresponding AI agent. *** ## Architecture Reference ### Component Map | Component | Role | | ------------------------ | ---------------------------------------------------------------------------------------- | | **Five9 Campaign** | Dials the customer list, manages pacing and answer detection | | **Five9 IVR Script** | Decides routing; runs the 3rd Party Transfer to SigmaMind and the handoff-back logic | | **3rd Party Transfer** | Hands the answered customer to the SigmaMind SIP server; sends lead data via SIP headers | | **SigmaMind SIP Number** | Inbound entry point — mapped to a specific AI agent | | **SigmaMind Agent** | The AI voice agent that speaks with the customer and qualifies the lead | | **SIP Headers (X-)** | Carry lead data from Five9 to SigmaMind as dynamic variables | | **Query / Case modules** | Fetch the AI outcome and branch on it for the handoff-back | | **Skill Transfer** | Routes a qualified customer into a Five9 Skill / ACD queue | | **Call Variables** | Deliver the AI's summary to the agent's Agent Desktop screen pop | ### Reference Values | Value | Purpose | | ------------------------------- | --------------------------------------------------------------- | | `28y698lhv2f.sip.livekit.cloud` | SigmaMind SIP server hostname | | `X-` prefix | Marks a SIP header for exposure as a SigmaMind dynamic variable | ### Connection Method Summary | Method | Path | Best for | | ------------------------------- | --------------------------------- | ------------------------------------------- | | **A — Dedicated PoP SIP trunk** | Five9 PoP ⇄ SigmaMind (direct) | Production, security review, lowest latency | | **B — Carrier Elastic SIP** | Five9 → Twilio/Telnyx → SigmaMind | Pilots, proofs of concept, existing trunks | ### Call Recording | Side | What is recorded | When recording starts | | ------------- | --------------------------------- | -------------------------------------------- | | **Five9** | Full call per your Five9 settings | When the campaign places the outbound call | | **SigmaMind** | Agent conversation only | When the SigmaMind AI agent connects via SIP | Both recordings are independent. Five9's recording is useful for diagnosing routing or bridging issues. SigmaMind's recording shows exactly what the AI agent heard and said. # Genesys Source: https://docs.sigmamind.ai/genesys # Introduction Source: https://docs.sigmamind.ai/index Welcome to the SigmaMind AI developer portal—your centralized hub to build, test, and deploy intelligent conversational agents across **voice, chat, and email**. Built for developers, BPOs, and implementation partners, SigmaMind creates AI that **does**, not just **responds** *** ## 🔍 Explore Our Platform ### **Platform Overview** * End-to-end support for designing, testing, deploying, and monitoring AI agents * Omnichannel support: voice calls, chat messaging, and email workflows built once, deployed everywhere. ### **Agent Builder** * No-code, drag-and-drop UI with event triggers, intents, app actions, branches, waits, and personalized flows * **Persona layer** controls tone, verbosity, escalation, and channel behavior. ### **Playground** * Real-time simulator for testing conversational flows and payloads pre-launch * Provides debugging tools, channel previews, and persona verification. ### **App Library** * No-code integrations with Shopify, Zendesk, Gorgias, Google Sheets, Calendly, and more * Enable agents to trigger real-world actions—refunds, scheduling, ticket updates, database queries. *** ## 💡 Use Cases & Industry Applications | Use Case | Outcome | | -------------------------- | ------------------------------------------------------------------ | | **Customer Support** | 50–60% ticket automation; 70% faster first responses | | **Lead Qualification** | Identify, score, and qualify leads—multi-channel support | | **Appointment Scheduling** | 40% lower no‑shows; live calendar sync & reminders | | **Home Services** | Scheduling, reminders, upsells for HVAC, cleaning, repairs | | **Healthcare** | HIPAA‑friendly patient intake, reminders, re‑fills | | **Outbound Campaigns** | Sales calls, payment reminders, churn reactivation across channels | *** ## 💰 Pricing * **Build for free**, pay **only live or Playground conversations** no monthly fees. * Usage-based billing across all channels—voice, chat, email. *** ## 📚 Docs Structure 1. **Getting Started**\ Set up your workspace, build an agent, deploy live. 2. **Agent Builder Guide**\ In-depth node definitions: Event Triggers, Intents, Branches, App Actions, Persona. 3. **Playground Walkthrough**\ How to simulate across channels, debug, catch edge cases. 4. **App Integration Guides**\ Configuring Shopify, Zendesk, Calendly, custom APIs. 5. **API & Webhooks**\ For advanced use-cases and extensibility. 6. **Analytics & Monitoring**\ Monitor CSAT, deflection rates, resolution times. 7. **Security & Compliance**\ SOC, GDPR, encryption, audit trails, multi-tenant controls. *** ## 📞 Support & Community * **Discord**: Interactive community of developers and partners. * **Email / Slack**: Direct support channels. * **Case Studies**: Gardencup, CleanBoss, Betterbrand—real‑world impact stories. *** ## ✅ Why SigmaMind AI? * **Build fast, test safer, launch smarter**: build flows in minutes, simulate before deploying. * **Omnichannel with outcomes**: deploy voice, chat, email from one canvas. * **Actions, not just answers**: agents that perform tasks, not just reply. * **No-code to custom-code**: UI-first, but supports webhooks + APIs when needed. * **Measure ROI**: actionable analytics to track automation, CSAT, and cost savings. *** ## 🎯 Quickstart 1. **Clone a template** (FAQ, scheduler, lead bot). 2. **Build in Agent Builder** and simulate via Playground. 3. **Add real actions** via App Library integrations. 4. **Launch across channels**. 5. **Monitor real-world outcomes**. # MCP Tools Integration Source: https://docs.sigmamind.ai/mcp/client The **MCP Tools Integration** allows you to connect your SigmaMind agents to any Model Context Protocol (MCP) server. This enables your agents to access dynamic tools from platforms like Zapier, Make, Composio, and custom MCP servers without individual API configuration for each tool. ## Overview MCP (Model Context Protocol) is a standardized protocol for connecting AI agents to external services and tools. By integrating an MCP server with your SigmaMind agent, you can: * **Access hundreds of pre-built tools** from MCP providers * **Execute actions dynamically** during agent conversations * **Avoid repetitive API configuration** for each tool * **Scale your agent capabilities** instantly ### How MCP Tools Work ``` User Request → Agent → MCP Server → Tool Action → External Service → Response → Agent → User ``` When you add an MCP tool to your agent: 1. SigmaMind connects to the MCP server 2. Available tools from the server are fetched dynamically 3. Agent can invoke any of these tools during conversations 4. Results are returned to the agent and integrated into responses ## Quick Setup Follow these steps to add an MCP tool to your agent: ### Step 1: Get Your MCP Server URL Obtain an MCP server URL from your provider: **Zapier MCP:** * Visit: [https://mcp.zapier.com/mcp/?client=sigmamind](https://mcp.zapier.com/mcp/?client=sigmamind) * Generate and copy your MCP server URL **Make MCP:** * Log in to Make account * Go to: Profile > API Access > Tokens * Click "Add token" and copy the MCP URL **Composio MCP:** * Log in to: [https://mcp.composio.dev/dashboard](https://mcp.composio.dev/dashboard) * Select tools you want to integrate * Create server and copy the generated URL **Custom MCP Server:** * Ensure your MCP server is running * Obtain the server endpoint URL (e.g., [https://your-server.com/mcp](https://your-server.com/mcp)) ### Step 2: Add MCP Tool in SigmaMind 1. Open **Agent Builder** 2. Click **Manage Tools/Apps** 3. Click **Add Custom Tool/App** 4. Enter: * **Tool/App name**: "Zapier Integration" (or your provider name) * **Description**: "Access to MCP tools from Zapier" 5. Click **Submit Tool/App** ### Step 3: Configure Authentication 1. Click the newly created MCP tool 2. Click **Configure Authentication** 3. Select **Bearer Token** (most common for MCP servers) 4. Paste your MCP server URL as the token 5. Click **Submit Authentication** MCP Authentication ### Step 4: Add Tool Actions MCP servers expose tools dynamically. Rather than adding individual actions, the MCP server provides them automatically. However, you can test tool availability: 1. Click **Add Tool Actions** 2. Enter test values to verify connectivity 3. The MCP server responds with available tools ### Step 5: Add to Your Agent 1. Open your agent in **Agent Builder** 2. Click **Add Tool/Function Calls** 3. Select **App Tool Call** 4. Select your MCP tool from the list 5. Click **Submit** Your agent now has access to all tools from the MCP server! ## Supported MCP Providers ### Zapier MCP **7,000+ apps and 30,000+ actions** Zapier's MCP server provides access to thousands of pre-built integrations. Setup: 1. Visit [https://mcp.zapier.com/mcp/?client=sigmamind](https://mcp.zapier.com/mcp/?client=sigmamind) 2. Generate your MCP server URL 3. Add to SigmaMind as MCP tool with Bearer Token authentication 4. Your agent instantly has access to Zapier's full ecosystem **Available actions include:** * Send emails * Create calendar events * Post to social media * Update spreadsheets * And thousands more ### Make MCP **Custom Scenarios & Workflows** Make allows you to build custom automations and expose them as MCP tools. Setup: 1. Create your scenarios in Make with defined inputs/outputs 2. Set scenarios to "Schedule on Demand" 3. Get your MCP Token from Profile > API Access > Tokens 4. Add to SigmaMind as MCP tool with Bearer Token authentication **Use cases:** * Custom business logic automation * Multi-app workflows * Data processing pipelines * Scheduled tasks triggered by agents ### Composio MCP **Popular Tool Integrations** Composio provides pre-built connections to tools like Gmail, Slack, GitHub, Notion, and more. Setup: 1. Log in to [https://mcp.composio.dev/dashboard](https://mcp.composio.dev/dashboard) 2. Select tools you want to integrate (Gmail, Slack, etc.) 3. Complete authentication flows 4. Create server and copy the MCP server URL 5. Add to SigmaMind as MCP tool with Bearer Token authentication **Supported integrations:** * Gmail, Outlook (email) * Slack, Teams (messaging) * GitHub, GitLab (code) * Notion, Asana (productivity) * And many more ### Custom MCP Servers You can build and deploy your own MCP server to expose custom tools. Setup: 1. Deploy your MCP server and ensure it's accessible 2. Obtain the server endpoint URL 3. Add to SigmaMind as MCP tool 4. Configure any required authentication headers ## Configuration ### Basic MCP Tool Configuration In the **Manage Tools/Apps** section, configure your MCP tool: **Tool Setup:** | Field | Value | | ------------------- | ---------------------- | | Tool/App name | Zapier Integration | | Description | Access to Zapier tools | | Authentication Type | Bearer Token | | Token | Your MCP server URL | ### Agent System Prompt Include guidance in your agent's system prompt about MCP tools: ``` You have access to various integrated tools and services through Zapier and other platforms. Available capabilities: - Send emails and messages - Create and manage calendar events - Update documents and spreadsheets - Post to social media - Manage customer data - Execute custom automations When users request actions that require these tools: 1. Determine which tool is appropriate 2. Extract necessary information from the user request 3. Execute the tool with correct parameters 4. Confirm the action was completed 5. If tool fails, explain the issue and suggest alternatives ``` ## How MCP Tools Execute ### Execution Flow When your agent decides to use an MCP tool: 1. **Tool Selection** - Agent determines the appropriate MCP tool for the user's request 2. **Parameter Extraction** - Agent extracts values from conversation context 3. **Server Connection** - SigmaMind connects to the MCP server using your URL 4. **Tool Invocation** - MCP server invokes the requested tool with parameters 5. **Result Processing** - Results are returned to the agent 6. **Response Generation** - Agent incorporates results into its response to the user ### Request Headers MCP requests include context headers for tracking: * **X-Call-Id** - Included in voice calls to identify the specific call * **X-Chat-Id** - Included in chat interactions to identify the chat * **X-Session-Id** - Included if the chat is part of a session These headers help track which agent interaction triggered each MCP tool invocation. ## Best Practices ### Security * Treat MCP server URLs as sensitive credentials * Store URLs in environment variables, never in code * Regularly rotate API tokens from MCP providers * Use HTTPS for all MCP connections ### Agent Instructions * **Clear Prompts**: Tell your agent when and how to use MCP tools * **Error Handling**: Include fallback instructions if tools fail * **Confirmation**: For critical actions, have the agent confirm with users first * **Transparency**: Inform users which tools are being used ### Performance * **Test First**: Verify MCP tools work with test requests * **Monitor Usage**: Track which tools are used and how often * **Handle Delays**: Be aware MCP calls may take 2-5 seconds * **Rate Limits**: Check rate limits on MCP provider accounts ## Troubleshooting ### MCP Tool Not Available **Problem:** Agent can't access MCP tools **Solutions:** 1. Verify MCP server URL is correct and accessible 2. Check Bearer Token authentication is properly configured 3. Ensure agent has been published after adding MCP tool 4. Refresh the dashboard to see changes ### Tool Execution Fails **Problem:** MCP tool returns errors **Solutions:** 1. Test the MCP server independently with cURL: ```bash theme={null} curl -H "Authorization: Bearer YOUR_MCP_URL" \ https://your-mcp-server.com/mcp ``` 2. Verify agent's system prompt provides correct tool names 3. Check MCP provider status page for outages 4. Review error message for specific issues ### Slow Response Times **Problem:** MCP tools are slow **Solutions:** 1. MCP calls typically take 2-5 seconds - this is normal 2. Check MCP provider's server status 3. Verify your network connection 4. Consider switching to faster MCP provider if needed ### Authentication Failed **Problem:** MCP server rejects requests **Solutions:** 1. Verify the MCP server URL/token is correct 2. Ensure you copied the entire URL without spaces 3. Check if the token has expired (regenerate if needed) 4. Verify Bearer Token is selected as authentication type ## Next Steps 1. Choose your MCP provider (Zapier, Make, Composio, or custom) 2. Generate your MCP server URL from the provider 3. Add MCP tool to SigmaMind with Bearer Token authentication 4. Update your agent's system prompt with tool instructions 5. Test MCP tool with sample user requests 6. Deploy and monitor usage ## Related Documentation * [Manage Tools Overview](/tools/manage-tools-overview) * [Add Custom Tools](/tools/add-custom-tool) * [Authentication Methods](/tools/authentication-methods) * [Agent Configuration](/agents/configuration) ## Resources * **Zapier MCP**: [https://mcp.zapier.com](https://mcp.zapier.com) * **Make MCP**: [https://developers.make.com/mcp-server](https://developers.make.com/mcp-server) * **Composio MCP**: [https://composio.dev](https://composio.dev) * **MCP Specification**: [https://modelcontextprotocol.io](https://modelcontextprotocol.io) # MCP Server Source: https://docs.sigmamind.ai/mcp/server Complete installation guide for SigmaMind API MCP Server across all Agent IDEs ## Overview SigmaMind provides a free [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that enables AI coding assistants to browse and search complete API documentation. This comprehensive guide covers installation instructions for all major coding assistants and best practices for integrating the MCP server into your development workflow. The server is available at the following URL: ``` https://api.sigmamind.ai/mcp ``` ## Key Features The SigmaMind API MCP server provides the following capabilities: * **API Documentation Access** - Browse and search complete SigmaMind API documentation in real-time * **Endpoint Reference** - Quick access to all available endpoints and their parameters * **Code Examples** - View practical examples for common API use cases * **Authentication Guidance** - Reference authentication methods and token management * **Error Handling** - Access troubleshooting guides and error code documentation * **Real-time Updates** - Always access the most current API documentation ## Installation Guide Follow the instructions below for your preferred coding assistant or IDE. ### Cursor Click the button below to install the MCP server in [Cursor](https://www.cursor.com/): [Install MCP Server in Cursor](https://cursor.com/docs/context/mcp) Or add it manually to your Cursor settings with the following JSON in `~/.cursor/mcp.json`: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` ### Claude Code Add the MCP server to your [Claude Code](https://claude.com/product/claude-code) configuration. Create or edit `~/Library/Application Support/Claude/claude_desktop_config.json`: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` Verify the installation by running: ```bash theme={null} claude mcp list ``` ### VS Code Add the MCP server to your [VS Code](https://code.visualstudio.com/) workspace by creating or editing `.vscode/mcp.json`: ```json theme={null} { "servers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` Alternatively, install it using the VS Code CLI: ```bash theme={null} code --add-mcp '{"name":"sigmamind-api","type":"http","url":"https://api.sigmamind.ai/mcp"}' ``` ### GitHub Copilot [Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli) supports MCP servers via an interactive setup flow or by editing its config file directly. To add the server interactively, start Copilot CLI and run `/mcp add`. When prompted, set the server URL to `https://api.sigmamind.ai/mcp`. To configure it manually, create or edit `~/.copilot/mcp-config.json`: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` ### Codex Run the following command in your terminal to install the server in [OpenAI Codex](https://openai.com/codex/): ```bash theme={null} codex mcp add --url https://api.sigmamind.ai/mcp sigmamind-api ``` ### Gemini CLI Run the following command in your terminal to install the server in [Gemini CLI](https://geminicli.com): set your API key in an environment variable: ```bash theme={null} export SIGMAMIND_API_KEY="your-api-key-here" ``` then add the MCP server: ```bash theme={null} gemini mcp add \ --transport http \ --header "X-API-KEY:$SIGMAMIND_API_KEY" \ sigmamind-api \ https://api.sigmamind.ai/mcp ``` ### Windsurf [Windsurf](https://codeium.com/windsurf) is built on VS Code, so use the file-based configuration approach. Create or edit `.codeium/windsurf/mcp_config.json`: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` Restart Windsurf after making changes. ### Antigravity [Antigravity](https://antigravity.ai/) provides MCP server support through its configuration settings. Create or edit `.gemini/antigravity/mcp_config.json` in your project: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" } } } } ``` Restart Antigravity after configuration changes. ### Kiro [Kiro](https://kiro.ai/) is a code assistant that supports MCP servers. Configure it by creating or editing `.kiro/mcp-config.json`: ```json theme={null} { "mcpServers": { "sigmamind-api": { "command": "npx", "args": [ "mcp-remote", "https://api.sigmamind.ai/mcp", "--header", "X-API-KEY:${SIGMAMIND_API_KEY}" ], "env": { "SIGMAMIND_API_KEY": "your-api-key-here" }, "disabled": false, "autoApprove": [] } } } ``` Restart Kiro after making changes. ### Manual Installation The MCP server is available at the following URL. Add this server to your MCP client of choice. If prompted, set the transport to `http` or `Streamable HTTP`. ``` https://api.sigmamind.ai/mcp ``` ## Quick Start After installing the MCP server, you can: 1. **Ask your AI assistant about the SigmaMind API** - It will automatically reference the latest documentation 2. **Get code examples** - Request implementation examples for specific use cases 3. **Troubleshoot integration issues** - Reference error codes and resolution steps 4. **Stay up-to-date** - Always access the most current API documentation 5. **Access endpoint reference** - View all available endpoints and their parameters ## Authentication When using the SigmaMind API MCP server, keep the following in mind: * Store your API key securely using environment variables. * Never commit API keys to version control. * The MCP server authenticates requests using the X-API-KEY HTTP header. * Configure your MCP client to send the header, for example: ```bash theme={null} --header "X-API-KEY:${SIGMAMIND_API_KEY}" ``` * Use separate API keys for development, staging, and production. * Rotate API keys regularly for security ## Security Best Practices ### Environment Variables Store your SigmaMind API key in an environment variable: ```bash theme={null} export SIGMAMIND_API_KEY="your-api-key-here" ``` For local development, use a `.env` file (ensure it's added to `.gitignore`): ``` SIGMAMIND_API_KEY=your-api-key-here ``` ### Repository Configuration Never commit the following to version control: * API keys or authentication tokens * `.env` files with sensitive information * Configuration files with credentials ## Common Use Cases ### Creating Outbound Calls Use the MCP server to access the `/v1/calls` endpoint documentation for creating and managing outbound phone calls. Ask your AI assistant for examples of call creation and status tracking. ### Managing Campaigns Reference the `/v1/campaigns` endpoint to learn how to create, update, delete, and manage campaigns. The MCP server provides real-time documentation and code examples. ### Phone Number Management The `/v1/phone-numbers` endpoint documentation covers purchasing, managing, and configuring phone numbers. Access provisioning guides and best practices through the MCP server. ### Chat Completions Access examples and best practices for using the `/v1/chats` endpoint for conversational AI. The MCP server provides authentication guidance and integration examples. ### Webhook Management Learn how to register and manage webhooks using the `/v1/webhooks` endpoint. Reference real-time update patterns and event handling through the MCP server. ## Troubleshooting ### MCP Server Connection Issues If the MCP server is not connecting: * Verify the exact URL: `https://api.sigmamind.ai/mcp` * Check your network connectivity and firewall settings * Ensure your IDE or CLI tool has MCP support enabled * Restart your IDE or CLI tool after configuration * Check the IDE or tool logs for specific error messages * Ensure the transport type matches your IDE’s MCP configuration ### Documentation Not Appearing If API documentation is not appearing in your IDE: * Confirm the MCP server is properly configured in your settings * Verify the server URL is correct * Restart your IDE or CLI tool * Try a simple query to confirm the connection * Check the MCP configuration file for syntax errors ### Authentication Failures If you’re experiencing authentication issues: * Ensure your API key is set in an environment variable * Verify the MCP client sends the X-API-KEY header * Confirm the .env file is loaded by your IDE or CLI * Verify your API key has the required permissions * Ensure the API key has not expired or been revoked ## Next Steps * [Install the MCP server](#installation-guide) in your preferred coding environment * Set up [Authentication](#authentication) with your API key * Review the [API Reference](/api-reference) for complete endpoint documentation # Navigate IVR Source: https://docs.sigmamind.ai/navigate-ivr The **Navigate IVR** tool allows your AI agent to automatically handle Interactive Voice Response (IVR) systems it encounters during a call. Instead of getting stuck at a phone menu, the agent listens to the IVR prompts and responds with the correct inputs — navigating menus on its own until it reaches a live human or the target destination. Ivr > **Phone calls only.** This tool works exclusively for voice calls and is not available for web or chat agents. *** ## When to Use Configure this tool when your agent needs to: * Make an outbound call to a business that has an IVR phone menu * Navigate a multi-level menu to reach a billing agent, support team, or specific department * Bypass automated menus and connect directly to a human representative * Handle outbound campaigns where the destination number has an IVR system *** ## Steps to Add 1. Open the **Agent Builder** 2. Click **+ Add Tool** 3. Select **Navigate IVR** from the tool menu 4. A configuration modal will appear — fill in all fields (described below) 5. Click **Add to Agent** *** ## Configuration Fields ### Instruction *(When this tool should be invoked)* Write a clear instruction that tells the AI agent when to trigger IVR navigation. The agent uses this to decide the right moment to activate the tool during a live call. ```text theme={null} Invoke this tool as soon as the outbound call connects and an IVR menu is detected. ``` ```text theme={null} Use the IVR navigator when the call connects and the system starts playing an automated menu before a human agent is available. ``` Be specific — if the instruction is too broad, the agent may try to navigate IVR when talking to a human, or not trigger it at all when a menu appears. *** ### IVR Starts Conversation? This setting tells the agent whether the IVR system is the **first thing that speaks** when the call connects, or whether the call connects to silence or ringing first. | Option | When to Use | | ------- | ---------------------------------------------------------------------------------------------------------------------------- | | **Yes** | The IVR plays an automated greeting immediately when the call connects (e.g., "Thank you for calling. Press 1 for Sales...") | | **No** | The call connects with silence or ringing first, and the IVR starts after a delay or human pickup attempt | #### Why This Matters When **Yes** is selected, the agent knows to start listening for IVR prompts from the very first second of the call. It will not wait for a human greeting — it immediately enters navigation mode. When **No** is selected, the agent waits for its turn to speak first (as configured in **Basic Settings → Who speaks first**) before checking for IVR prompts. This avoids misidentifying a human as an IVR system. **Default:** `Yes` Setting this incorrectly causes one of two problems: * Set to **Yes** when a human answers → agent tries to navigate a person using DTMF tones * Set to **No** when IVR answers immediately → agent misses the first prompt and fails to navigate *** ### Pause Delay (ms) The number of milliseconds the agent waits **after detecting an IVR prompt** before responding. This simulates a natural pause and ensures the IVR has finished speaking before the agent sends its response. **Default:** `2,000` ms (2 seconds) | Pause Delay | Behaviour | | -------------- | ------------------------------------------------------------------------ | | `500–1000 ms` | Very fast response — may cut off longer IVR announcements | | `2000 ms` | Standard — works for most IVR systems | | `3000–5000 ms` | Slow response — use for IVR systems with long prompts or slow processing | #### Why Pause Delay Matters IVR systems are not instant. They play a recorded message and then wait for input. If the agent responds too quickly, the DTMF tone may be sent while the announcement is still playing — and some IVR systems reject early inputs. If the agent responds too slowly, the IVR may interpret silence as a non-response and either repeat the menu or route to a default option. **When to increase the delay:** * The IVR plays a long welcome message before the menu options * The destination uses an older PBX system with slow prompt processing * The agent is consistently navigating to the wrong option **When to decrease the delay:** * The IVR responds quickly and your campaigns need faster connection times * You've tested the flow and confirmed the IVR accepts early inputs without issue *** ## How the Agent Navigates IVR Once the tool is triggered, the agent: 1. **Listens** for the IVR prompt (menu options, recorded announcements) 2. **Waits** for the configured Pause Delay 3. **Responds** with the correct DTMF key press or spoken input based on the prompt 4. **Repeats** for each menu level until the destination is reached 5. **Hands off** to the next tool (e.g., records a message, delivers information, transfers the customer in) The agent uses the context of your system prompt and the IVR prompts it hears to decide which option to select at each step. You do not need to pre-map every menu level manually — the agent reasons through the options based on its goal. *** ## Real-World Example **Scenario:** An outbound agent is calling a hospital to reschedule a patient appointment. The hospital line has a multi-level IVR. **IVR flow:** ```text theme={null} "Thank you for calling City Hospital." "Press 1 for appointments." "Press 2 for billing." "Press 3 for emergency." → Agent presses 1 "Press 1 to book a new appointment." "Press 2 to reschedule an existing appointment." → Agent presses 2 "Please hold while we connect you to scheduling." → Human agent answers → AI agent continues the conversation ``` **Configuration:** | Field | Value | | ------------------------ | -------------------------------------------------------------------------------------- | | Instruction | Invoke this tool immediately when the call connects and an automated menu is detected. | | IVR Starts Conversation? | Yes | | Pause Delay | 2,000 ms | *** ## Combining with Other Tools | Tool | How They Work Together | | ----------------------------- | ------------------------------------------------------------------------------------ | | **Extract Dynamic Variables** | Capture appointment details or customer intent before navigating IVR | | **Transfer Call** | After IVR navigation connects to a human, transfer the customer in via warm transfer | | **End Call** | If navigation fails or the IVR cannot be resolved, end the call cleanly | *** ## Best Practices * Set **IVR Starts Conversation?** to **Yes** for most outbound use cases — the vast majority of business phone lines play an IVR immediately on connection * Start with the **default 2,000 ms** Pause Delay and increase only if you observe navigation errors during testing * Write a specific **Instruction** that references the call context (e.g., "when the call connects to the hospital line") to avoid the tool triggering on human conversations * Test the full IVR flow using the **Test Voice** playground before deploying your campaign * If the target IVR changes its menu structure, update the agent's system prompt to reflect the new options — no tool reconfiguration needed *** ## Troubleshooting | Issue | Fix | | ---------------------------------------- | ------------------------------------------------------------------------ | | Agent not navigating at all | Check that the Instruction condition is specific enough to trigger | | Agent presses the wrong option | Add more detail to your system prompt describing the correct menu path | | IVR prompt cut off before agent responds | Increase Pause Delay by 500–1,000 ms | | Agent treats human greeting as IVR | Set **IVR Starts Conversation?** to **No** | | Navigation stops mid-flow | The IVR may have changed its menu — update the system prompt accordingly | # NICE Source: https://docs.sigmamind.ai/nice # Notifications Source: https://docs.sigmamind.ai/notifications # Quickstart Source: https://docs.sigmamind.ai/quickstart Start building awesome documentation in under 5 minutes ## Setup your development Learn how to update your docs locally and deploy them to the public. ### Edit and preview During the onboarding process, we created a repository on your Github with your docs content. You can find this repository on our [dashboard](https://dashboard.mintlify.com). To clone the repository locally, follow these [instructions](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) in your terminal. Previewing helps you make sure your changes look as intended. We built a command line interface to render these changes locally. 1. Install the [Mintlify CLI](https://www.npmjs.com/package/mintlify) to preview the documentation changes locally with this command: `npm i -g mintlify` 2. Run the following command at the root of your documentation (where `docs.json` is): `mintlify dev` If you’re currently using the legacy `mint.json` configuration file, please update the Mintlify CLI: `npm i -g mintlify@latest` And run the new upgrade command in your docs repository: `mintlify upgrade` You should now be using the new `docs.json` configuration file. Feel free to delete the `mint.json` file from your repository. ### Deploy your changes Our Github app automatically deploys your changes to your docs site, so you don't need to manage deployments yourself. You can find the link to install on your [dashboard](https://dashboard.mintlify.com). Once the bot has been successfully installed, there should be a check mark next to the commit hash of the repo. [Commit and push your changes to Git](https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository#about-git-push) for your changes to update in your docs site. If you push and don't see that the Github app successfully deployed your changes, you can also manually update your docs through our [dashboard](https://dashboard.mintlify.com). ## Update your docs Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own. Add content to your docs with MDX syntax. Add code directly to your docs with syntax highlighting. Add images to your docs to make them more engaging. Add templates to your docs to make them more reusable. # Review Alerts Source: https://docs.sigmamind.ai/review-alerts # Review QA Issues Source: https://docs.sigmamind.ai/review-qa-issues # Set Escalation Rules Source: https://docs.sigmamind.ai/set-escalation-rules # Set Notifiers Source: https://docs.sigmamind.ai/set-notifiers # Set QA Rules Source: https://docs.sigmamind.ai/set-qa-rules # Playgroud overview Source: https://docs.sigmamind.ai/test/playgroud-overview # Test chat Source: https://docs.sigmamind.ai/test/test-chat # Test email Source: https://docs.sigmamind.ai/test/test-email # Test voice Source: https://docs.sigmamind.ai/test/test-voice # How to use Transfer Call Source: https://docs.sigmamind.ai/transfer-call The **Transfer Call** tool allows your AI agent to hand off an active call to a human agent, department, or any phone number — at exactly the right moment in a conversation. It supports both **Cold Transfer** (instant handoff) and **Warm Transfer** (assisted handoff with context sharing) to give you full control over how the transition happens. Transfer > **Phone calls only.** This tool works exclusively for phone calls and is not supported for web-based chat or voice sessions. *** ## When to Use Trigger this tool when: * The customer asks to speak with a human agent * The request requires human judgement or specialist knowledge * The conversation needs escalation (e.g., complaint, complex query) * Routing to a specific department is required — Sales, Support, Billing, Renewals, Claims *** ## Steps to Add 1. Open the **Agent Builder** 2. Click **+ Add Tool** 3. Select **Voice Tool Call** 4. From the **Select Action** dropdown, choose `voice_transfer_call` 5. Fill in all configuration fields (described below) 6. Click **Add to Agent** *** ## Step 1: Instruction *(When this tool should be invoked)* Write a clear instruction that tells the AI agent when to trigger the transfer. The more specific you are, the more reliably the agent will initiate the transfer at the correct moment. ```text theme={null} Transfer the call when the customer asks to speak with a human, expresses frustration, or needs assistance that goes beyond what the AI can handle. ``` ```text theme={null} Transfer to the billing department when the customer raises a payment dispute or questions their invoice amount. ``` Vague instructions like *"transfer when needed"* make it harder for the agent to decide. Always describe the **exact trigger condition**. *** ## Step 2: Transfer To Defines where the call will be sent. ### Destination Options | Option | Description | | ---------------------- | ----------------------------------------------------------------------------------------------- | | **Static Destination** | A fixed phone number or SIP URI — always routes to the same endpoint | | **Dynamic Routing** | Destination is resolved at runtime from a `{{variable_name}}` extracted during the conversation | ### Accepted Formats * **Phone number (E.164 format):** `+919876543210` * **SIP URI:** `sip:agent@yourdomain.com` * **Dynamic variable:** `{{assigned_agent_number}}` > All phone numbers must be in **E.164 international format**, including the country code (e.g., `+1` for US, `+91` for India). ### Extension Number *(Optional)* Extension After the main number connects, the extension routes the call to the correct internal team or agent — automatically, without the customer needing to press anything. ```text theme={null} Main Number: +1-800-555-0199 ← connects to the company switchboard Extension: 302 ← routes directly to the Billing team ``` #### Why the Extension Field Matters Most business phone systems (PBX, RingCentral, 8x8, Vonage, Twilio) share a single main inbound number across departments. Without an extension, the AI agent connects to the front-line IVR or receptionist and stalls — requiring manual routing. With the extension configured, the handoff is seamless: the agent dials the main number and immediately routes to the right desk, with no customer interaction needed. #### When to Use the Extension **Your business has multiple departments on one main line:** ```text theme={null} Main: +1-888-200-1000 ├── ext. 101 → Sales ├── ext. 202 → Customer Support └── ext. 303 → Billing & Accounts ``` **You want to bypass the IVR entirely:** Many phone systems allow direct extension dialing, skipping IVR menus altogether. The customer saves 30–60 seconds and reaches the right person immediately. **You're routing to a specific named agent:** If a customer has a dedicated account manager (e.g., ext. 415 for James in Renewals), the extension ensures they always land at the right person — not a random available agent. **You use SIP-based infrastructure:** SIP URIs often require an extension to reach the correct endpoint. Without it, calls may fall back to a default destination. #### Static vs. Dynamic Extension **Static** — same extension on every transfer: ```text theme={null} Extension: 302 ``` Best for single-purpose bots where all transfers always go to one team. **Dynamic** — extension resolved from conversation context: ```text theme={null} Extension: {{department_extension}} ``` Pair this with **Extract Dynamic Variables** to map customer intent to the right extension at runtime: | Customer Says | Extracted Intent | Extension Routed | | --------------------------- | ---------------- | ---------------- | | "I want to renew my policy" | `renewals` | `201` | | "I need to file a claim" | `claims` | `305` | | "I have a billing question" | `billing` | `410` | | "I want to cancel" | `cancellations` | `500` | This lets a single Transfer Call tool handle all your departments — no need to create a separate tool for each one. *** ## Step 3: Transfer Type SigmaMind provides two transfer types. Choose based on whether context sharing is needed before the customer connects. Transfertype *** ### Cold Transfer The AI agent immediately routes the call to the destination and disconnects. **What happens:** * The AI initiates the transfer and exits the conversation instantly * The customer hears ringing and connects directly to the destination * No context or summary is shared with the receiving agent **When to use Cold Transfer:** * Simple department routing where no background is needed * Fast escalations where speed matters more than context * Internal lines where agents already have CRM access ```text theme={null} Customer: "Can I speak to someone in support?" → AI triggers voice_transfer_call → Call routes to +1-800-555-0100 → AI drops off immediately → Customer hears ringing, support agent picks up ``` *** ### Warm Transfer The receiving agent is connected first, context is shared privately, then the customer is bridged in. This creates a smooth, professional handoff experience. Warm Transfer happens in **two distinct stages:** *** ## Stage 1: Connecting Stage In the Connecting Stage, the receiving agent's line is dialed and connected — but the customer and the agent **cannot yet hear each other**. The customer is still on hold, listening to ringing or hold music. This stage exists so the receiving agent can receive context **before** the customer joins, allowing them to prepare a response or pull up the right information. ```text theme={null} [Connecting Stage] Customer ──── on hold (hears ringing) ────► AI ──► Agent connected ↓ Whisper Message played to agent only ``` ### Whisper Message The **Whisper Message** is a private audio message played **only to the receiving agent** during the Connecting Stage. The customer cannot hear it under any circumstances. Use the Whisper Message to give the agent the context they need before they say hello — customer name, reason for calling, policy number, account history, or any other relevant detail. **To enable Whisper Message:** 1. Toggle **Whisper Message** ON 2. Enter your message in the text box 3. Choose either **Static** or **Prompt** mode #### Static Whisper Message A fixed, pre-written message — the same text plays on every transfer. ```text theme={null} You are being connected to a customer regarding an insurance renewal request. Please review their policy and assist accordingly. ``` You can make static messages smarter by embedding dynamic variables: ```text theme={null} You are being connected to {{customer_name}} regarding insurance policy {{policy_id}}. The customer wants assistance with {{request_type}}. Please have their account ready before greeting them. ``` Best for: predictable, structured use cases where the context format never changes. #### Prompt Whisper Message Instead of writing a fixed message, you provide an **instruction** — and SigmaMind AI automatically generates a contextual summary based on the actual conversation before playing it to the agent. **Prompt instruction:** ```text theme={null} Summarize the customer's request and include their name, issue, and requested service. ``` **What the system generates automatically (example output):** ```text theme={null} Customer name is Rahul Sharma. He is calling to renew his car insurance policy and wants clarification on premium pricing and coverage details. ``` **Prompt with variables:** ```text theme={null} Provide a short summary for the receiving agent. Include customer name {{customer_name}}, service {{service_type}}, and request {{customer_request}}. ``` Best for: conversations where the context varies widely — complaints, complex queries, multi-topic calls — and a fixed script wouldn't cover every scenario. > If the Whisper Message is left empty, the transfer will still proceed, but no context will be shared with the receiving agent. In this case, the Warm Transfer effectively behaves like a Cold Transfer. *** ## Stage 2: Bridged Stage In the Bridged Stage, the call bridge is established and **both the customer and the receiving agent can now hear each other**. The AI agent drops off, and the human takes over the conversation. This is the moment the transfer is truly complete. ```text theme={null} [Bridged Stage] Customer ◄──────────────────────────► Human Agent (full duplex audio) AI drops off ``` ### Three-Way Message *(Bridge Message)* At the moment of bridging, the AI can play one final message **heard by both the customer and the receiving agent** simultaneously. This ensures a clear, professional transition and eliminates any awkward silence or confusion about whether the connection has succeeded. **To enable Three-Way Message:** 1. Toggle **Three-way Message** ON 2. Enter the message in the text box 3. Choose either **Static** or **Prompt** mode #### Static Three-Way Message A fixed announcement confirming the connection: ```text theme={null} Thank you for waiting. You are now connected to our support specialist. ``` With dynamic variables: ```text theme={null} Thank you for waiting, {{customer_name}}. You are now connected to our support specialist. ``` #### Prompt Three-Way Message A dynamically generated message tailored to the specific call: ```text theme={null} Generate a short, clear, and neutral three-way message to be played to both the customer and the agent after the call is bridged. Confirm the connection is complete and invite the conversation to continue. Keep it professional and concise. ``` With variables: ```text theme={null} Generate a short, clear, and neutral three-way message to be played to both {{customer_name}} and the agent after the call is bridged. Mention that {{customer_name}} is now connected with the {{agent_role}} regarding {{call_reason}}. Keep it professional, concise, and welcoming. ``` > All variables must always be written using double curly braces: `{{variable_name}}` *** ## Step 4: Custom Headers *(Optional)* Custom Headers let you send structured metadata along with the call transfer. This information is **invisible to the customer** but available to the receiving agent's system, CRM, call center software, or backend automation. Headers are sent as key-value pairs: ```text theme={null} X-Intent: billing_issue X-Language: en X-Customer-Type: existing X-Ticket-ID: 12345 X-Call-Source: outbound_campaign X-Policy-ID: POL-98271 ``` ### When Custom Headers Are Useful | Use Case | Header Example | | ----------------------------------- | ------------------------------------- | | Route to the right CRM queue | `X-Intent: claims_inquiry` | | Tag language for multilingual teams | `X-Language: hi` | | Associate call with a campaign | `X-Call-Source: renewal_campaign_Q2` | | Pre-load customer record | `X-Customer-ID: CUS-00421` | | Log call reason for reporting | `X-Call-Reason: cancellation_request` | Headers provide structured context for automation, reporting, and agent preparation — all without requiring the customer to repeat themselves. *** ## Step 5: Add to Agent Once all fields are configured, click **Add to Agent** to save the tool. If the receiving agent does not answer or the transfer fails due to network issues, SigmaMind automatically retries the transfer based on your configured settings. *** ## Full Warm Transfer Execution Flow ```text theme={null} Customer requests transfer ↓ AI triggers voice_transfer_call ↓ [Connecting Stage] Receiving agent's line is dialed Customer placed on hold (hears ringing) ↓ Whisper Message played to agent only (Customer cannot hear this) ↓ [Bridged Stage] Call bridge established Both customer and agent can hear each other ↓ Three-way Message played to both parties ↓ AI drops off Human agent continues the conversation ``` *** ## Cold vs. Warm | Feature | Cold Transfer | Warm Transfer | | ---------------------------------- | -------------- | ---------------------------- | | Agent connected before customer | ❌ | ✅ | | Whisper Message to receiving agent | ❌ | ✅ | | Three-way bridge announcement | ❌ | ✅ | | Customer hears hold music | ❌ | ✅ | | Context shared before handoff | ❌ | ✅ | | Speed | Fastest | Slightly slower (seconds) | | Best for | Simple routing | High-stakes or complex calls | *** ## Example Configurations ### Example 1 — Cold Transfer to Support | Field | Value | | ------------- | -------------------------------------------------- | | Instruction | Transfer when the customer requests a human agent. | | Transfer To | Static → `+1-800-555-0100` | | Extension | `202` | | Transfer Type | Cold Transfer | *** ### Example 2 — Warm Transfer with Whisper + Bridge Message | Field | Value | | ----------------- | --------------------------------------------------------------------------------------------------- | | Instruction | Transfer when the customer raises a billing dispute or payment issue. | | Transfer To | Static → `+1-800-555-0199` | | Extension | `{{department_extension}}` | | Transfer Type | Warm Transfer | | Whisper Message | `You are being connected to {{customer_name}} regarding a billing dispute on policy {{policy_id}}.` | | Three-way Message | `Thank you for waiting, {{customer_name}}. You are now connected with our billing specialist.` | *** ## Best Practices * Write **specific trigger instructions** — vague conditions cause missed or premature transfers * Use **Warm Transfer** for high-value calls, complaints, or any scenario where the receiving agent benefits from knowing context upfront * Use **Prompt Whisper Messages** when call topics vary widely — the AI generates a tailored summary every time * Pair **Dynamic Routing** with **Extract Dynamic Variables** to handle multi-department routing from a single transfer tool * Use **Custom Headers** to pre-load CRM records or tag calls for analytics — reduces repeat questions for the customer * Always enter phone numbers in **E.164 format** (`+[country code][number]`) * Test transfer flows using the **Test Voice** playground before going live *** ## Troubleshooting | Issue | Fix | | ---------------------------------- | ------------------------------------------------------------------------------ | | Transfer not triggering | Make the Instruction more specific and match actual conversation phrases | | Call drops instead of transferring | Verify phone number is in correct E.164 format | | Extension not connecting | Confirm the extension is active on your PBX/phone system and accepts auto-dial | | Dynamic variable not resolving | Ensure **Extract Dynamic Variables** runs earlier in the agent flow | | Whisper message not playing | Check that the Whisper Message toggle is ON and the message text is not empty | | Warm transfer behaves like cold | Whisper Message is likely empty — add content to distinguish the stages | | Three-way message not heard | Confirm the Three-way Message toggle is ON in the Bridged Stage settings | # Tutorials Source: https://docs.sigmamind.ai/tutorials/agents/overview # Build Conversational AI Agents for Customer Support Source: https://docs.sigmamind.ai/use-cases/appointment-booking SigmaMind AI is a **no-code/low-code AI agent platform** designed to automate **customer support** across channels—**Email, Chat, Voice, Social, SMS**. This guide walks you through how to build, test, and deploy AI agents for common e-commerce use cases like **order status**, **cancel subscription**, and **returns**. *** ## 🚀 1. Platform Overview SigmaMind offers two operational modes: * **Autopilot**: Fully autonomous. AI reads tickets, drafts responses, performs actions (e.g. cancel order), and sends replies automatically. * **Co‑pilot**: AI drafts responses, but human agents review and send them. > 🧠 Use Autopilot for high-confidence, low-risk queries (e.g. shipping status), and Co‑pilot for edge cases or brand-sensitive queries. *** ## 🔌 2. Key Integrations * **Shopify**: Access products, orders, subscriptions, customer data. * **Helpdesk Platforms**: Zendesk, Gorgias, Gladly, Genesys — fetch tickets, respond, auto-tag or close. * **Others**: Recharge (subscriptions), Loop Returns, Skio, etc. *** ## 🤖 3. Agent Capabilities * Answer common queries: order status, shipping, returns. * Perform actions: cancel orders, pause subscriptions. * Suggest products or upsells. * Automatically tag, escalate, or close tickets. * Works across Email, Chat, Voice, SMS, and Social. *** ## 🧩 4. Agent Building Workflow ### A. Prerequisites * Shopify store connected. * Gorgias/Zendesk account linked. * SigmaMind AI account with access to Agent Builder. ### B. Connect Data Sources 1. Login to [SigmaMind Dashboard](https://dashboard.sigmamind.ai). 2. Go to **App Integrations** → Connect: * Shopify * Optional: Recharge, Loop Returns 3. Connect Helpdesk (Gorgias/Zendesk) ### C. Training and Tuning Upload FAQs, help docs, and real training conversations into the SigmaMind AI dashboard. Use brand voice settings to configure: * Formality * Tone * Personalization level *** ## ⚙️ 5. Building with Use Case Examples ### ✅ Use Case: **Order Status** 1. **Intent**: User asks “Where is my order?” 2. **Trigger**: New ticket with intent like “where is my order.” or "Inquiry about order status." 3. **Workflow**: * AI fetches recent order from Shopify. * Response generated: “Hi Sarah! Your order #12345 was shipped on June 24 via FedEx. Here's your \[tracking link].” 4. **Mode**: Autopilot (can send directly). 5. **Action**: None (info only). ### 🛑 Use Case: **Cancel Subscription** 1. **Intent**: “Please cancel my subscription.” 2. **Trigger**: Intent with "Request to Cancel Subscription” or "Request to cancel recurring order" 3. **Workflow**: * AI calls Recharge API to cancel subscription. * Response: “Hi James, your subscription has been successfully canceled. You won’t be charged moving forward.” 4. **Mode**: Autopilot or Co‑pilot (depending on risk). 5. **Action**: API call to Recharge → Cancel. ### 🔁 Use Case: **Initiate Return** 1. **Intent**: “I want to return my order.” 2. **Trigger**: Ticket with intent “request to return order” 3. **Workflow**: * AI checks return eligibility via Shopify. * If valid, generates a Loop Returns link. * Response: “Sure! You can initiate your return here: \[return portal link].” 4. **Mode**: Autopilot. 5. **Action**: Shopify + Loop Returns coordination. *** ## 🧪 6. Testing Agents ### A. Simulate Conversations 1. Go to **Agent Builder → Test Playground**. 2. Simulate incoming ticket/message. 3. AI previews draft with response and actions. 4. Review response accuracy, tone, and logic path. ### B. Preview Actions * Preview connected app calls (e.g. cancel subscription). * Validate that payloads and execution match expectations. * Set to **sandbox enviroment** during tests to avoid real-world changes. *** ## 🚀 7. Deployment & Monitoring Once configured, enable the agent. Monitor key performance metrics: * % of tickets auto-resolved * CSAT (customer satisfaction) scores * Average resolution time Adjust workflows and training materials as needed based on agent performance. *** ## 🤝 8. Developer/Partner Integration SigmaMind AI supports a **Certified Partner Program**, enabling agencies to build branded conversational agents for clients with: * Training * Certifications * Co-marketing support *** ## ✅ 9. Best Practices * **Start Small**: Launch with Co‑pilot on high-volume FAQs. * **Iterate**: Analyze auto-resolution errors, refine triggers and training. * **Brand Consistency**: Use consistent tone via brand voice settings. * **Guardrails**: Escalate complex or high-value cases to human agents. * **Metrics**: Track automation rate, CSAT, resolution time, and saved agent hours. *** ## 🎯 10. Summary SigmaMind AI empowers developers and customer support teams to build scalable, brand‑aware AI agents with **no-code workflows**, powerful integrations (Shopify, Gorgias, etc.), and flexible response modes. Whether you want full automation (**Autopilot**) or decision support (**Co‑pilot**), SigmaMind’s platform enables **rapid deployment** and **continuous learning** for high-volume customer support. # Build Conversational AI Agents for Customer Support Source: https://docs.sigmamind.ai/use-cases/customer-support SigmaMind AI is a **no-code/low-code AI agent platform** designed to automate **customer support** across channels—**Email, Chat, Voice, Social, SMS**. This guide walks you through how to build, test, and deploy AI agents for common e-commerce use cases like **order status**, **cancel subscription**, and **returns**. *** ## 🚀 1. Platform Overview SigmaMind offers two operational modes: * **Autopilot**: Fully autonomous. AI reads tickets, drafts responses, performs actions (e.g. cancel order), and sends replies automatically. * **Co‑pilot**: AI drafts responses, but human agents review and send them. > 🧠 Use Autopilot for high-confidence, low-risk queries (e.g. shipping status), and Co‑pilot for edge cases or brand-sensitive queries. *** ## 🔌 2. Key Integrations * **Shopify**: Access products, orders, subscriptions, customer data. * **Helpdesk Platforms**: Zendesk, Gorgias, Gladly, Genesys — fetch tickets, respond, auto-tag or close. * **Others**: Recharge (subscriptions), Loop Returns, Skio, etc. *** ## 🤖 3. Agent Capabilities * Answer common queries: order status, shipping, returns. * Perform actions: cancel orders, pause subscriptions. * Suggest products or upsells. * Automatically tag, escalate, or close tickets. * Works across Email, Chat, Voice, SMS, and Social. *** ## 🧩 4. Agent Building Workflow ### A. Prerequisites * Shopify store connected. * Gorgias/Zendesk account linked. * SigmaMind AI account with access to Agent Builder. ### B. Connect Data Sources 1. Login to [SigmaMind Dashboard](https://dashboard.sigmamind.ai). 2. Go to **App Integrations** → Connect: * Shopify * Optional: Recharge, Loop Returns 3. Connect Helpdesk (Gorgias/Zendesk) ### C. Training and Tuning Upload FAQs, help docs, and real training conversations into the SigmaMind AI dashboard. Use brand voice settings to configure: * Formality * Tone * Personalization level *** ## ⚙️ 5. Building with Use Case Examples ### ✅ Use Case: **Order Status** 1. **Intent**: User asks “Where is my order?” 2. **Trigger**: New ticket with intent like “where is my order.” or "Inquiry about order status." 3. **Workflow**: * AI fetches recent order from Shopify. * Response generated: “Hi Sarah! Your order #12345 was shipped on June 24 via FedEx. Here's your \[tracking link].” 4. **Mode**: Autopilot (can send directly). 5. **Action**: None (info only). ### 🛑 Use Case: **Cancel Subscription** 1. **Intent**: “Please cancel my subscription.” 2. **Trigger**: Intent with "Request to Cancel Subscription” or "Request to cancel recurring order" 3. **Workflow**: * AI calls Recharge API to cancel subscription. * Response: “Hi James, your subscription has been successfully canceled. You won’t be charged moving forward.” 4. **Mode**: Autopilot or Co‑pilot (depending on risk). 5. **Action**: API call to Recharge → Cancel. ### 🔁 Use Case: **Initiate Return** 1. **Intent**: “I want to return my order.” 2. **Trigger**: Ticket with intent “request to return order” 3. **Workflow**: * AI checks return eligibility via Shopify. * If valid, generates a Loop Returns link. * Response: “Sure! You can initiate your return here: \[return portal link].” 4. **Mode**: Autopilot. 5. **Action**: Shopify + Loop Returns coordination. *** ## 🧪 6. Testing Agents ### A. Simulate Conversations 1. Go to **Agent Builder → Test Playground**. 2. Simulate incoming ticket/message. 3. AI previews draft with response and actions. 4. Review response accuracy, tone, and logic path. ### B. Preview Actions * Preview connected app calls (e.g. cancel subscription). * Validate that payloads and execution match expectations. * Set to **sandbox enviroment** during tests to avoid real-world changes. *** ## 🚀 7. Deployment & Monitoring Once configured, enable the agent. Monitor key performance metrics: * % of tickets auto-resolved * CSAT (customer satisfaction) scores * Average resolution time Adjust workflows and training materials as needed based on agent performance. *** ## 🤝 8. Developer/Partner Integration SigmaMind AI supports a **Certified Partner Program**, enabling agencies to build branded conversational agents for clients with: * Training * Certifications * Co-marketing support *** ## ✅ 9. Best Practices * **Start Small**: Launch with Co‑pilot on high-volume FAQs. * **Iterate**: Analyze auto-resolution errors, refine triggers and training. * **Brand Consistency**: Use consistent tone via brand voice settings. * **Guardrails**: Escalate complex or high-value cases to human agents. * **Metrics**: Track automation rate, CSAT, resolution time, and saved agent hours. *** ## 🎯 10. Summary SigmaMind AI empowers developers and customer support teams to build scalable, brand‑aware AI agents with **no-code workflows**, powerful integrations (Shopify, Gorgias, etc.), and flexible response modes. Whether you want full automation (**Autopilot**) or decision support (**Co‑pilot**), SigmaMind’s platform enables **rapid deployment** and **continuous learning** for high-volume customer support. # Build Conversational AI Agents for Customer Support Source: https://docs.sigmamind.ai/use-cases/lead-qualification SigmaMind AI is a **no-code/low-code AI agent platform** designed to automate **customer support** across channels—**Email, Chat, Voice, Social, SMS**. This guide walks you through how to build, test, and deploy AI agents for common e-commerce use cases like **order status**, **cancel subscription**, and **returns**. *** ## 🚀 1. Platform Overview SigmaMind offers two operational modes: * **Autopilot**: Fully autonomous. AI reads tickets, drafts responses, performs actions (e.g. cancel order), and sends replies automatically. * **Co‑pilot**: AI drafts responses, but human agents review and send them. > 🧠 Use Autopilot for high-confidence, low-risk queries (e.g. shipping status), and Co‑pilot for edge cases or brand-sensitive queries. *** ## 🔌 2. Key Integrations * **Shopify**: Access products, orders, subscriptions, customer data. * **Helpdesk Platforms**: Zendesk, Gorgias, Gladly, Genesys — fetch tickets, respond, auto-tag or close. * **Others**: Recharge (subscriptions), Loop Returns, Skio, etc. *** ## 🤖 3. Agent Capabilities * Answer common queries: order status, shipping, returns. * Perform actions: cancel orders, pause subscriptions. * Suggest products or upsells. * Automatically tag, escalate, or close tickets. * Works across Email, Chat, Voice, SMS, and Social. *** ## 🧩 4. Agent Building Workflow ### A. Prerequisites * Shopify store connected. * Gorgias/Zendesk account linked. * SigmaMind AI account with access to Agent Builder. ### B. Connect Data Sources 1. Login to [SigmaMind Dashboard](https://dashboard.sigmamind.ai). 2. Go to **App Integrations** → Connect: * Shopify * Optional: Recharge, Loop Returns 3. Connect Helpdesk (Gorgias/Zendesk) ### C. Training and Tuning Upload FAQs, help docs, and real training conversations into the SigmaMind AI dashboard. Use brand voice settings to configure: * Formality * Tone * Personalization level *** ## ⚙️ 5. Building with Use Case Examples ### ✅ Use Case: **Order Status** 1. **Intent**: User asks “Where is my order?” 2. **Trigger**: New ticket with intent like “where is my order.” or "Inquiry about order status." 3. **Workflow**: * AI fetches recent order from Shopify. * Response generated: “Hi Sarah! Your order #12345 was shipped on June 24 via FedEx. Here's your \[tracking link].” 4. **Mode**: Autopilot (can send directly). 5. **Action**: None (info only). ### 🛑 Use Case: **Cancel Subscription** 1. **Intent**: “Please cancel my subscription.” 2. **Trigger**: Intent with "Request to Cancel Subscription” or "Request to cancel recurring order" 3. **Workflow**: * AI calls Recharge API to cancel subscription. * Response: “Hi James, your subscription has been successfully canceled. You won’t be charged moving forward.” 4. **Mode**: Autopilot or Co‑pilot (depending on risk). 5. **Action**: API call to Recharge → Cancel. ### 🔁 Use Case: **Initiate Return** 1. **Intent**: “I want to return my order.” 2. **Trigger**: Ticket with intent “request to return order” 3. **Workflow**: * AI checks return eligibility via Shopify. * If valid, generates a Loop Returns link. * Response: “Sure! You can initiate your return here: \[return portal link].” 4. **Mode**: Autopilot. 5. **Action**: Shopify + Loop Returns coordination. *** ## 🧪 6. Testing Agents ### A. Simulate Conversations 1. Go to **Agent Builder → Test Playground**. 2. Simulate incoming ticket/message. 3. AI previews draft with response and actions. 4. Review response accuracy, tone, and logic path. ### B. Preview Actions * Preview connected app calls (e.g. cancel subscription). * Validate that payloads and execution match expectations. * Set to **sandbox enviroment** during tests to avoid real-world changes. *** ## 🚀 7. Deployment & Monitoring Once configured, enable the agent. Monitor key performance metrics: * % of tickets auto-resolved * CSAT (customer satisfaction) scores * Average resolution time Adjust workflows and training materials as needed based on agent performance. *** ## 🤝 8. Developer/Partner Integration SigmaMind AI supports a **Certified Partner Program**, enabling agencies to build branded conversational agents for clients with: * Training * Certifications * Co-marketing support *** ## ✅ 9. Best Practices * **Start Small**: Launch with Co‑pilot on high-volume FAQs. * **Iterate**: Analyze auto-resolution errors, refine triggers and training. * **Brand Consistency**: Use consistent tone via brand voice settings. * **Guardrails**: Escalate complex or high-value cases to human agents. * **Metrics**: Track automation rate, CSAT, resolution time, and saved agent hours. *** ## 🎯 10. Summary SigmaMind AI empowers developers and customer support teams to build scalable, brand‑aware AI agents with **no-code workflows**, powerful integrations (Shopify, Gorgias, etc.), and flexible response modes. Whether you want full automation (**Autopilot**) or decision support (**Co‑pilot**), SigmaMind’s platform enables **rapid deployment** and **continuous learning** for high-volume customer support. # Vicidial Integration Guide Source: https://docs.sigmamind.ai/vicidial-integration # AI-Powered Call Center Automation for Scalable Customer Engagement ### **Overview of VICIdial** VICIdial is a widely adopted open-source contact center solution designed to manage high-volume inbound and outbound calling operations. It is commonly used by sales teams, support centers, and contact centers to run efficient communication workflows at scale. With capabilities such as predictive dialing, automated call distribution, IVR systems, and real-time reporting, VICIdial provides a flexible and cost-effective foundation for modern call center operations. ### Why Integrate VICIdial with Sigmamind AI Integrating VICIdial with Sigmamind AI enhances traditional call center workflows with AI-powered automation and intelligence. This enables businesses to handle more conversations, improve efficiency, and deliver better customer experiences without increasing operational overhead. This integration is ideal for: * Outbound sales and lead generation teams * Customer support and service operations * Contact centers handling high call volumes * Businesses adopting AI-driven communication *** ### Key Capabilities #### 1. AI-Powered Voice Agents Automate inbound and outbound calls using conversational AI agents that can engage customers 24/7. #### 2. Intelligent Lead Qualification & Routing Use AI to qualify leads in real time and route high-value prospects to the right teams. #### 3. Enhanced Predictive Dialing Boost VICIdial’s dialing efficiency with AI-driven decision-making and prioritization. #### 4. Real-Time Agent Assist Provide human agents with live suggestions, summaries, and contextual insights during calls. #### 5. Advanced Call Analytics Analyze conversations to extract insights, track performance, and optimize campaigns. #### 6. Workflow Automation Automatically sync call data with CRMs and internal systems for seamless operations. *** ### Key Benefits * Reduce operational costs through automation * Increase conversion rates and campaign performance * Improve customer experience with AI-driven conversations * Enhance agent productivity and efficiency * Scale call center operations without additional infrastructure *** ## Telephony Setup (SIP Trunk Configuration) To enable seamless communication between VICIdial and Sigmamind AI, you must configure and connect a SIP trunk using the **“Connect via SIP Trunking”** option in Sigmamind. ## Setup Steps ### 1. Create a SIP Trunk in VICIdial Configure a SIP trunk in VICIdial (or your VoIP provider). This will generate: * SIP Server / Host * Terminal URI (or SIP endpoint) * Username & Password (if authentication is enabled) *** ### 2. Add the Trunk in Sigmamind AI In Sigmamind AI: * Go to **Add Phone Number** * Select **Connect via SIP Trunking** * Fill in the details: **Phone Number**\ → Enter the number associated with your VICIdial trunk **Terminal URI**\ → Enter the SIP endpoint from VICIdial / your provider\ *(Example: sip:[your-trunk@provider.com](mailto:your-trunk@provider.com))* **SIP Trunk Username (Optional)**\ → Enter if your trunk requires authentication **SIP Trunk Password (Optional)**\ → Enter the corresponding password Click **Save** *** ### How VICIdial Works with Sigmamind AI #### End-to-End Call Flow The integration between VICIdial and Sigmamind AI enables a seamless transition from outbound dialing to AI-driven conversations and human agent handoff. *** ### Step-by-Step Flow #### 1. Outbound Call Initiated (VICIdial) Vicidial initiates outbound calls using customer data from its internal lists or connected data sources via predictive or auto-dialing campaigns. #### 2. Customer Connects Once the customer answers the call, VICIdial detects a successful connection and triggers the next step in the call flow. #### 3. Call Routed to Sigmamind AI (Inbound) The active call is transferred to Sigmamind AI as an inbound call, where the AI system takes control of the interaction. #### 4. AI Agent Handles the Conversation Sigmamind AI engages the customer to: * Qualify the lead * Collect key information * Answer common questions * Guide the interaction based on predefined workflows #### 5. Conditional Human Handoff Based on predefined conditions (such as user intent, interest level, or escalation triggers), the system determines whether a human agent is required. #### 6. Call Transfer to Human Agent If needed, the call is seamlessly transferred to a live agent without losing conversation context, ensuring a smooth customer experience. #### 7. Call Completion & Outcome Logging The agent completes the interaction, and the outcome is logged for reporting, analytics, and future follow-ups. *** ### Call Flow Summary ```text theme={null} VICIdial (Outbound Dialing) ↓ Customer Answers ↓ Call Routed to Sigmamind AI (Inbound) ↓ AI Agent Conversation ↓ (Conditional) ↓ Transfer to Human Agent ↓ Call Completion & Logging ``` # Vicidial Integration Guide Source: https://docs.sigmamind.ai/vicidial-integration-guide This guide walks you through every configuration step needed to connect Vicidial to the SigmaMind Voice AI platform. Once complete, Vicidial will dial your customers through your existing carrier and automatically bridge each answered call to a SigmaMind AI agent in real time — with no manual agent intervention required. ## How It Works ```text theme={null} Vicidial Campaign dials customer │ Customer answers │ Vicidial routes call to Remote Agent │ Remote Agent dials SigmaMind SIP server (+1XXXXXXXXXX@28y698lhv2f.sip.livekit.cloud) │ SigmaMind receives inbound SIP call │ SigmaMind Voice AI Agent speaks with the customer ``` Behind the scenes, two calls are created — one from Vicidial to the customer, and one from the Remote Agent to the SigmaMind SIP server — but these are transparently bridged into a single conversation. On the SigmaMind side, only one inbound SIP call is ever visible. The number used in the Vicidial dial string is your existing outbound carrier number — no new number is created. On the SigmaMind side, you register this number under **Phone Numbers → Connect via SIP Trunking**, entering your carrier's SIP termination URI in the **Terminal URI** field and mapping an AI agent against it. *** ## SigmaMind SIP Server Details All calls from Vicidial to SigmaMind are directed to the following SIP server: | Field | Value | | ------------------------- | -------------------------------------------- | | **SIP Server URI** | `28y698lhv2f.sip.livekit.cloud` | | **Full Dial Destination** | `+1XXXXXXXXXX@28y698lhv2f.sip.livekit.cloud` | | **Transport** | UDP, TCP, or TLS | | **Media Encryption** | SRTP supported | Replace `+1XXXXXXXXXX` with your Vicidial outbound carrier number — the same number your Vicidial system already uses to make calls. This is the number you register in SigmaMind under **Phone Numbers → Connect via SIP Trunking**, where: * **Phone Number** = your Vicidial outbound carrier number * **Terminal URI** = your carrier's SIP termination URI (e.g. `f111.dialmake.com`) — this points **back to your telephony provider**, not to SigmaMind The SigmaMind SIP server (`28y698lhv2f.sip.livekit.cloud`) is what **Vicidial dials into** — it belongs in the Vicidial Remote Agent dial string only, not in this SigmaMind dashboard field. SigmaMind identifies the correct tenant and AI agent by matching the incoming call's number against the number you registered. SigmaMind does **not** support static IP whitelisting. If your carrier or PBX requires IP whitelisting to allow outbound SIP, this must be resolved at the carrier level before proceeding. See the [SIP Trunking page](/documentation/phone-number/sip-integration/sip-trunking) for full SIP server requirements. *** ## Prerequisites Before starting, confirm you have the following ready: * Admin access to your Vicidial instance * A SigmaMind account with at least one AI agent configured and published * Your **Vicidial outbound carrier number** registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking** — this is the same number your Vicidial system dials out from. When registering it in SigmaMind, the **Terminal URI** field must contain your carrier's SIP termination URI (e.g. `f111.dialmake.com`), and an AI agent must be mapped against it * The **SigmaMind SIP server**: `28y698lhv2f.sip.livekit.cloud` — this is what Vicidial dials into via the Remote Agent, not what goes in the SigmaMind dashboard Terminal URI field * Your **Vicidial outbound carrier** already configured and tested for outbound calls * Your Vicidial **dial prefixes** confirmed with your Vicidial admin: * Auto-dial prefix (e.g. `9797`) * Manual dial prefix (e.g. `8787`) * Your Vicidial **server number** (e.g. `103`) confirmed with your admin **Testing from outside the US:** If you are testing from India or any region with strict telecom geofencing rules, your local carrier may block calls to or from US numbers. Use a softphone (such as Zoiper) connected directly to your Vicidial SIP server to bypass carrier-level restrictions during testing. See [Testing with a Softphone](#testing-with-a-softphone) below. *** ## Before You Begin: Register Your Number in SigmaMind Before configuring Vicidial, you need to register your Vicidial outbound carrier number in SigmaMind so that SigmaMind can receive the inbound SIP call and know which AI agent to connect. In your SigmaMind dashboard, navigate to **Phone Numbers** and click **Add Phone Number**. In the **Add Phone Number** dialog, select the **Connect via SIP Trunking** tab. Enter the following: | Field | Value | | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | **Phone Number** | Your Vicidial outbound carrier number (e.g. `+13453453453`) | | **Terminal URI** | Your carrier's SIP termination URI (e.g. `f111.dialmake.com`) — this is provided by your telephony carrier, not by SigmaMind | | **SIP Trunk User Name** | Optional — enter only if your carrier requires SIP authentication | | **SIP Trunk Password** | Optional — enter only if your carrier requires SIP authentication | The **Terminal URI** points back to your telephony carrier — it is the address your carrier uses to terminate SIP calls. It is **not** the SigmaMind SIP server. The SigmaMind SIP server (`28y698lhv2f.sip.livekit.cloud`) is what Vicidial dials into via the Remote Agent — it belongs in the Vicidial configuration only. Click **Save**. Once the number is registered, assign an AI agent to it. SigmaMind will use this mapping to identify which agent to connect whenever a call arrives on this number from your Vicidial system. *** ## Step 1: Create a Vicidial User for the SigmaMind Agent The Remote Agent in Vicidial must be linked to a Vicidial user account. You can create a dedicated user or reuse an existing one. In the Vicidial Admin panel, navigate to **Admin → Users**. Use your browser's search (Ctrl+F) to find an existing user designated for SigmaMind (e.g. a user named `SigmaPhone`). Note the **Extension** number assigned to this user — you will need it in Step 2. If no suitable user exists, create one: * Set a recognisable **Username** such as `sigma_agent` * Assign it to the correct **Server** (confirm the server number with your Vicidial admin — e.g. server `103`) * Save the user and note the assigned **Extension** (e.g. `5565`) *** ## Step 2: Create the Remote Agent A Remote Agent in Vicidial routes an answered customer call to an external destination — in this case, the SigmaMind SIP server. The key field is the **Remote Extension**, which is the full dial string Vicidial will use to reach SigmaMind. In the Vicidial Admin panel, navigate to **Admin → Remote Agents**. Click **Add New Remote Agent** and fill in the following fields: | Field | Value | | -------------------- | --------------------------------------------------- | | **User** | The Vicidial user from Step 1 (e.g. `5565`) | | **Remote Extension** | The full dial string to reach SigmaMind — see below | | **Server IP** | **All Servers** | | **Campaign** | Your SigmaMind campaign (e.g. `Sigma Voice Agent`) | | **Active** | `Y` | The **Remote Extension** field must contain the **full dial string** — your carrier's outbound prefix combined with your Vicidial outbound carrier number (the same number you have registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking**). Vicidial will dial this string exactly as entered when routing an answered call to SigmaMind. The format is: ```text theme={null} [carrier-prefix][SigmaMind-SIP-number] ``` For example, if your auto-dial carrier prefix is `9797` and your Vicidial outbound carrier number is `+19895551234`, the Remote Extension would be: ```text theme={null} 97919895551234 ``` Do not enter just the SigmaMind number alone (e.g. `19895551234`). Without the carrier prefix, Vicidial cannot route the call through the correct carrier and the Remote Agent will fail to dial out. Confirm your carrier prefix with your Vicidial admin. Click **Submit** to create the Remote Agent. *** ## Step 3: Create the SigmaMind Carrier in Vicidial In Vicidial's **Carriers** section, create an entry that associates a dial prefix with the SigmaMind routing. This carrier entry is what Vicidial uses to know how to handle outbound calls through this path. Navigate to **Admin → Carriers**. Click **Add New Carrier** and configure the following: | Field | Value | | ---------------- | ---------------------------------- | | **Carrier Name** | `Sigma` (or any recognisable name) | | **Server IP** | All Servers | | **Active** | `Y` | In the **Dial Prefix** field, enter the prefix your Vicidial server uses to route outbound calls through this carrier (e.g. `9797` for auto-dial). This must match the prefix prepended in the Remote Extension you set in Step 2, and must match the trunk routing configured on your Vicidial server. Confirm the correct prefix with your Vicidial admin. Browse your existing carriers and verify that no other carrier is using the same dial prefix. Duplicate prefixes will cause routing conflicts. Click **Submit**. *** ## Step 4: Configure the Campaign Connect all the pieces inside your Vicidial campaign — the carrier, the Remote Agent routing, caller ID, and dial settings. Go to **Admin → Campaigns** and click into your SigmaMind campaign (e.g. `T-Sigma VA`). Click **Detail** to expand the full settings view. Scroll down to the **Dial Prefix** field and enter the carrier prefix for auto-dial calls (e.g. `9797`). For manual dials, find the **Manual Dial Prefix** field and set it separately (e.g. `8787`). These must match the dial prefix set in Step 3. Find the **Routing Extension** field and enter the same Remote Extension value you used in Step 2 (the full dial string including carrier prefix): ```text theme={null} 97919895551234 ``` When a customer answers, Vicidial routes the call to this string, which reaches SigmaMind via the carrier. Set the **Campaign Caller ID** — the number your customers see when called. Enter your actual outbound number, for example: ```text theme={null} +13038142839 ``` If you plan to use manual dials, find the **Manual CID** field and set it to the same outbound caller ID number. For initial testing, use conservative settings: | Field | Value | | ---------------- | ----- | | **Dial Level** | `1` | | **Hopper Level** | `1` | Increase the dial level only after confirming the end-to-end flow works correctly. Go to **Real-Time Screen** within the campaign. Confirm the SigmaMind Remote Agent user appears with a **Ready** status. If it is not in Ready state, Vicidial will not route answered calls to it. Scroll to the bottom and click **Submit**. *** ## Step 5: Prepare the Call List From within your campaign, scroll down to the **Lists** section and click **Modify** next to your active list. Ensure at least one lead record exists. To add one: * Click into the existing record or select **Add Lead** * Set **Phone Number** to your test number (e.g. `3035500914`) * Leave **Country** blank (or set to `1` — confirm with your admin) * Set **Status** to `NEW` * Save the record Vicidial only dials records whose current status is marked as dialable. After each call attempt, Vicidial assigns a new status to the record. During testing you will encounter statuses such as `DROP`, `XFER`, and `DNC`. Add all of these upfront so you can re-test without manually editing each record. In the List settings, find **Dial Statuses** and add: ```text theme={null} NEW DROP DNC XFER ``` After each test call, check what status the record was set to and add it to the dialable list if it is not already there. Scroll up in the List Modify screen and click **Reset**, then confirm. Vicidial will immediately begin dialling all records with a dialable status. *** ## Step 6: Test the Integration End-to-End Before triggering a dial, go to the campaign's **Real-Time Screen** and confirm the SigmaMind Remote Agent user shows **Ready** status. Follow the reset steps in Step 5. Vicidial will dial the number in your list. Answer the call on your test phone. Your SigmaMind AI agent should begin speaking within approximately one second. Allow the AI agent to complete its opening. Speak a response. Confirm the conversation flows naturally in both directions. While the call is live, check the campaign's **Real-Time Screen**. You should see the Remote Agent user showing a call in progress. After the call ends, go to **Conversations** in your SigmaMind dashboard. The call should appear with: * Call status * Full transcript of the conversation * Recording (available within a few minutes of the call ending) Vicidial creates its own recording of the call from the moment the campaign dialled out. This is separate from the SigmaMind recording. Reviewing both helps diagnose any audio or bridging issues. *** ## Step 7: Pass Lead Data via SIP Headers (Optional but Recommended) You can pass Vicidial lead fields — customer name, city, state, phone number, address — to SigmaMind via custom SIP headers. SigmaMind reads these on the inbound SIP call and makes them available as dynamic variables your AI agent can use in its prompt. #### How SigmaMind reads SIP headers SigmaMind automatically processes any inbound SIP header that starts with `X-` or `x-`. It strips the prefix and exposes the remainder as a dynamic variable. For example: | SIP Header | Variable in SigmaMind | | --------------------------- | --------------------- | | `X-customer_name: John Doe` | `{{customer_name}}` | | `X-city: Denver` | `{{city}}` | | `X-account_id: 12345` | `{{account_id}}` | #### Configuring SIP headers in Vicidial Vicidial can pass custom SIP headers to the outbound SIP leg using its built-in **SIP Header** fields in the carrier configuration, or via the campaign's custom variable passing. The exact mechanism depends on your Vicidial version. **Part A — Test with a static value first** Work with your Vicidial admin to add a static custom SIP header to the SigmaMind carrier's outbound SIP configuration. The header name must start with `X-`: ```text theme={null} X-city: Denver ``` After a test call, go to **Conversations → \[the call] → Dynamic Variables** in SigmaMind. You should see `city: Denver`. If it appears, the pipeline is confirmed. **Part B — Pass dynamic lead field values** Once static headers work, replace the static values with Vicidial lead field variables. The variable syntax and available field names depend on your Vicidial version — confirm with your Vicidial admin which lead fields are available and how they are referenced in your setup. Common lead fields you may want to pass: ```text theme={null} X-first_name: [value from Vicidial lead field] X-last_name: [value from Vicidial lead field] X-city: [value from Vicidial lead field] X-state: [value from Vicidial lead field] X-phone_number: [value from Vicidial lead field] ``` Header names must start with `X-`. SigmaMind strips the `X-` prefix to create the variable name — so `X-city` becomes `{{city}}` in your agent prompt. For full details see the [SIP Custom Header guide](/documentation/agents/add-advance-nodes/howto-use-sip-custom-header). **Part C — Reference variables in your SigmaMind agent prompt** In your SigmaMind agent's system prompt, reference the variables using double-curly-brace syntax: ```text theme={null} You are calling {{first_name}} {{last_name}} located in {{city}}, {{state}}. Their callback number is {{phone_number}}. ``` SigmaMind substitutes these at call time with the values received via SIP headers. *** ## Step 8: Configure AMD (Answering Machine Detection) For production campaigns, route calls through Vicidial's built-in AMD before handing off to the SigmaMind agent. AMD ensures the AI agent only engages with a live human — not a voicemail system. In your campaign settings, locate the AMD (Answering Machine Detection) options. Configure routing so that: * **Live human detected** → Vicidial routes to the Remote Agent → SigmaMind AI agent * **Answering machine detected** → hang up, or play a pre-recorded voicemail drop Consult your Vicidial admin for the exact AMD fields in your version, as labels vary between Vicidial releases. Reset your call list with AMD active and answer the call. With AMD enabled, the SIP call to SigmaMind is only placed after AMD has confirmed a live answer — so the customer will not experience any wait before the AI agent speaks. Without AMD, there may be a brief moment of ring-back or silence between when the customer answers and when the SigmaMind SIP leg connects. AMD eliminates this from the customer's perspective because the bridge to SigmaMind only begins after pickup is already confirmed. *** ## Testing with a Softphone If you are testing from a region where carrier-level geofencing prevents calls to or from US numbers (common in India and other countries), use a softphone registered directly to your Vicidial SIP server. This bypasses the carrier and lets you dial the SigmaMind bridge from inside the Vicidial environment. **Recommended softphone:** [Zoiper](https://www.zoiper.com) (free tier is sufficient for testing) Download and install Zoiper on your test device. In Zoiper, add a SIP account pointing to your Vicidial/Asterisk server: | Field | Value | | ----------------------- | ------------------------------------------------------------ | | **Domain / SIP Server** | Your Vicidial server IP or hostname | | **Username** | The extension of the Vicidial user from Step 1 (e.g. `5565`) | | **Password** | The SIP password for that user (from Vicidial user settings) | Once registered, dial the full dial string (carrier prefix + your Vicidial outbound carrier number) directly from Zoiper. This lets you confirm SigmaMind picks up and the AI agent responds, without needing a real outbound carrier call to a customer. *** ## Troubleshooting ### 1. The call is not reaching the Remote Agent * Verify the Remote Agent user status is **Ready** on the campaign's **Real-Time Screen** before dialling begins — Vicidial will not route to an agent that is not Ready. * Confirm the campaign's **Routing Extension** field exactly matches the Remote Extension set on the Remote Agent. * Check that the lead record's current status is in the campaign's **Dialable Statuses** list (see Step 5). * In Vicidial, click on the Remote Agent user and check **User Stats** — this shows whether a routing attempt was made and what the result was. ### 2. The call reaches the Remote Agent but SigmaMind does not answer * Confirm the Remote Extension in Step 2 includes the full carrier prefix + your outbound carrier number in the correct format, and that the dial string ends with `@28y698lhv2f.sip.livekit.cloud`. * Confirm the SigmaMind SIP server hostname (`28y698lhv2f.sip.livekit.cloud`) is correctly included in the Remote Agent dial string. * Go to **Conversations** in the SigmaMind dashboard. If the call appears there, the SIP connection is working and the issue is on the SigmaMind agent configuration side. * Confirm the number in your Remote Extension exactly matches the number registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking**, and that it has an active, published AI agent mapped against it. ### 3. The customer hears ringing before the AI speaks A brief ring-back between the customer answering and the SigmaMind SIP leg connecting is expected in some Vicidial configurations. It occurs while Vicidial establishes the outbound SIP call to SigmaMind. * **Use AMD in production.** With AMD active, the SIP call to SigmaMind is only placed after the customer has already answered and been confirmed as a live human, so the customer does not experience any wait before the agent speaks. * If ring-back persists with AMD enabled, raise it with your Vicidial admin — the source may be in how the carrier is generating ring-back signals on the SIP leg between Vicidial and SigmaMind. ### 4. Dynamic variables are not appearing in SigmaMind * Test with a **static header value first** — if the static value does not appear in SigmaMind Dynamic Variables, the SIP header is not being sent correctly from Vicidial. * Confirm the header name starts with `X-` — SigmaMind only processes headers with this prefix. * The variable name in SigmaMind will be the header name with `X-` stripped (e.g. `X-city` → `{{city}}`). * In SigmaMind, variables only appear in **Conversations → Dynamic Variables** if they are referenced in the agent prompt. Add `{{city}}` to the agent prompt and re-test. ### 5. Call status stays as `AGENT NOT AVAILABLE` * Confirm the Remote Agent user is in **Ready** status on the campaign's **Real-Time Screen**. * Verify the Remote Agent is assigned to this specific campaign, not a different one. * Confirm the **Routing Extension** in the campaign settings matches the **Remote Extension** on the Remote Agent exactly. ### 6. Call completes but no record appears in SigmaMind Conversations * Confirm the number in your Remote Extension matches the number registered in SigmaMind under **Phone Numbers → Connect via SIP Trunking**. * Confirm that number has an active, published AI agent mapped against it in SigmaMind. *** ## How Call Transfers Work When the SigmaMind AI agent transfers a call, no additional Vicidial configuration is required. SigmaMind handles the transfer natively: * The AI agent drops out of the conversation * The customer is connected directly to the transfer destination (a human agent, queue, or external number) * From the customer's perspective, the call continues without interruption Your existing carrier and caller ID remain in the path for the transfer. No Twilio or third-party bridge is introduced. *** ## How Multiple Agents Work To route different Vicidial campaigns to different SigmaMind AI agents: 1. In SigmaMind, go to **Phone Numbers → Connect via SIP Trunking** and register each Vicidial outbound carrier number separately, entering the carrier's Terminal URI for each, and mapping each to the correct AI agent 2. In Vicidial, create a separate Remote Agent for each number, using the corresponding full dial string (carrier prefix + carrier number + `@28y698lhv2f.sip.livekit.cloud`) as the Remote Extension 3. Assign each Remote Agent to the relevant campaign Each campaign routes through its own Remote Agent, which dials its own carrier number into SigmaMind, which connects the corresponding AI agent. *** ## Architecture Reference ### Component Map | Component | Role | | ------------------------ | ---------------------------------------------------------------------------------------- | | **Vicidial Campaign** | Manages the call list, dial pace, AMD, and routing | | **Vicidial Carrier** | Holds the dial prefix for routing outbound calls | | **Remote Agent** | Routes the answered customer call to the SigmaMind SIP server using the full dial string | | **SigmaMind SIP Number** | Inbound entry point — mapped to a specific AI agent | | **SigmaMind Agent** | The AI voice agent that speaks with the customer | | **SIP Headers (X-)** | Carry lead data from Vicidial to SigmaMind as dynamic variables | ### Reference Values | Value | Purpose | | ------------------------------- | ------------------------------------------------------------- | | `28y698lhv2f.sip.livekit.cloud` | SigmaMind SIP server hostname | | `9797` | Example auto-dial prefix — confirm with your Vicidial admin | | `8787` | Example manual dial prefix — confirm with your Vicidial admin | | `5565` | Example Vicidial user extension for the Remote Agent | All prefix and extension values are examples. Your actual values depend on your Vicidial configuration. Always confirm with your Vicidial administrator before applying. ### Call Recording | Side | What is recorded | When recording starts | | ------------- | ------------------------------------- | -------------------------------------------- | | **Vicidial** | Full call from the moment of dialling | When the campaign places the outbound call | | **SigmaMind** | Agent conversation only | When the SigmaMind AI agent connects via SIP | Both recordings are independent. Vicidial's recording is useful for diagnosing ring-back or bridging issues. SigmaMind's recording shows exactly what the AI agent heard and said. # Workspace Source: https://docs.sigmamind.ai/workspace ## Manage Your Workspace and Team in SigmaMind AI Create workspaces, invite members, and control access all in one place. ## Create a New Workspace ## Steps 1. From the dashboard, click on the **Settings** 2. Click **“Add New Workspace”** 3. Enter the **Workspace Name** 4. Click **“Create Workspace”** Settings *** ## What Happens Next * The workspace is created instantly * You are added as an **Admin** * You can switch between workspaces anytime *** ### View Workspace Details ### Steps 1. Go to **Settings** 2. Click on **Workspace → General** ## Details Available * **Workspace Name** (editable) * **Workspace ID** (auto-generated, read-only)