Skip to main content
Integrations let your AI agent access external services like CRMs, calendars, and custom APIs. Your agent can look up customer data, schedule appointments, send messages, and more - all during live conversations.

Overview

Integrations overview
Magpipe supports three types of integrations:
TypeDescriptionExamples
OAuth IntegrationsConnect with a click using OAuthHubSpot, Slack, Cal.com
MCP CatalogPre-configured MCP servers ready to connectBrave Search, GitHub, Notion, Stripe
Custom MCP ServersAdd your own MCP-compatible serversInternal APIs, custom tools

OAuth Integrations

Available Integrations

HubSpot

Create contacts, search CRM, add notes

Slack

Send messages, list channels

Cal.com

Check availability, book appointments

Connecting an Integration

  1. Go to Settings → Apps
  2. Find the integration you want
  3. Click Connect
  4. Authorize access in the popup
  5. Integration is now available to your agents

HubSpot Tools

Once connected, your agent can:
ToolDescription
hubspot_create_contactCreate a new contact in HubSpot
hubspot_search_contactsSearch contacts by name, email, or phone
hubspot_get_contactGet full contact details by email
hubspot_create_noteAdd a note to a contact record
Example conversation:
Caller: “Can you add me to your system? I’m John Smith, john@example.com Agent: Creates contact in HubSpot “I’ve added you to our system, John. Is there anything else I can help with?”

Slack Tools

ToolDescription
slack_send_messageSend a message to a channel
slack_list_channelsList available channels (public and private)
Private channels are fully supported. The Magpipe bot must be invited to any private channel you want to use. If you connected Slack before March 2026, disconnect and reconnect to grant the updated permissions.

Calendar Tools

ToolDescription
check_calendar_availabilityFind available time slots
book_calendar_appointmentSchedule an appointment

MCP Server Catalog

MCP server catalog
The MCP (Model Context Protocol) catalog includes 40+ pre-configured servers for popular services.
ServerCategoryTools
Brave SearchSearchWeb search, summarization
GitHubDevelopmentRepos, issues, PRs
NotionProductivityPages, databases
StripePaymentsCustomers, charges
ShopifyE-commerceOrders, products
SalesforceCRMLeads, opportunities
LinearProject ManagementIssues, projects
Google CalendarCalendarEvents, availability

Connecting a Catalog Server

  1. Go to Settings → Apps → MCP Servers
  2. Browse the catalog
  3. Click Connect on the server you want
  4. Enter your API key (if required)
  5. Tools are now available to your agents
Most MCP servers require an API key from the service provider. Check the server’s documentation for how to obtain one.

Full Catalog

Brave Search, Exa, Perplexity
GitHub, GitLab, Linear, Sentry
Notion, Asana, Trello, Airtable, Jira
Slack, Discord, Twilio
HubSpot, Salesforce, Zendesk
Stripe, Shopify
PostgreSQL, MongoDB, Supabase, SQLite
Cloudflare, Vercel, AWS
Google Drive, Dropbox
Mailchimp, Mailgun
Figma
Zapier, Make

Custom MCP Servers

Add your own MCP-compatible servers to give agents access to internal tools and APIs.

Adding a Custom Server

  1. Go to Settings → Apps → MCP Servers
  2. Click Add Custom Server
  3. Enter:
    • Name: Display name for the server
    • URL: HTTPS endpoint (e.g., https://mcp.yourcompany.com/v1)
    • Auth Type: None, API Key, or Bearer Token
    • API Key: If required
  4. Click Validate to test the connection
  5. If successful, click Add Server

Requirements

Custom MCP servers must:
  • Use HTTPS (HTTP not allowed)
  • Implement the MCP JSON-RPC protocol
  • Respond to tools/list and tools/call methods
  • Be publicly accessible (no localhost or internal IPs)

Authentication Options

TypeHeaderDescription
None-No authentication
API KeyX-API-KeyAPI key in header
BearerAuthorization: BearerToken authentication

Example MCP Server Response

// tools/list response
{
  "jsonrpc": "2.0",
  "result": {
    "tools": [
      {
        "name": "lookup_order",
        "description": "Look up an order by ID",
        "inputSchema": {
          "type": "object",
          "properties": {
            "order_id": { "type": "string" }
          },
          "required": ["order_id"]
        }
      }
    ]
  }
}

How Agents Use Tools

When your agent is on a call or chat, it can invoke any connected tool:
Caller: "What's the status of my order 12345?"

Agent decides to call: lookup_order({ order_id: "12345" })

MCP server returns order details

Agent: "Your order 12345 shipped yesterday and should arrive Friday."

Tool Naming

Tools are prefixed by their source:
SourceFormatExample
Built-intool_namesend_sms
OAuth Integrationprovider_toolhubspot_create_contact
MCP Serverserver:toolbrave_search:search

Preview Mode

Destructive actions use a preview-then-execute pattern:
  1. Preview: Agent shows what will happen
  2. Confirm: User approves the action
  3. Execute: Action is performed
This prevents accidental changes and gives users control.

Built-in Tools

Every agent has access to these core tools:
ToolDescription
send_smsSend an SMS message
call_contactInitiate a phone call
list_contactsList contacts
add_contactAdd a new contact
schedule_smsSchedule SMS for later
search_businessLook up business info
add_knowledge_sourceAdd URL to knowledge base

Managing Integrations

Check Status

View all connected integrations in Settings → Apps. Each shows:
  • Connection status (connected, expired, error)
  • Last used timestamp
  • Available tools

Disconnect

To remove an integration:
  1. Go to Settings → Apps
  2. Find the integration
  3. Click Disconnect
  4. Confirm removal
Disconnecting an integration immediately removes agent access to those tools. Active calls using the integration may encounter errors.

Refresh Tokens

OAuth integrations automatically refresh tokens before expiry. If a token expires:
  1. The integration shows “Expired” status
  2. Click Reconnect to re-authorize
  3. Tools are available again

Tool Execution Logs

All tool executions are logged for debugging and audit:
  • Tool name and source
  • Input parameters
  • Output/response
  • Success/failure status
  • Execution time
Access logs in Settings → Apps → Activity Log.

API Access

List Available Tools

curl "https://api.magpipe.ai/functions/v1/mcp-tools" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response:
{
  "tools": [
    { "name": "send_sms", "description": "Send SMS message", ... },
    { "name": "hubspot_create_contact", "description": "Create HubSpot contact", ... }
  ],
  "integrations": {
    "connected": ["hubspot", "slack"],
    "available": ["cal_com", "notion"]
  },
  "mcp_servers": [
    { "id": "...", "name": "Brave Search", "type": "catalog", "tools": [...] }
  ]
}

Execute a Tool

curl -X POST "https://api.magpipe.ai/functions/v1/mcp-execute" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool_name": "hubspot_search_contacts",
    "arguments": {
      "query": "john@example.com"
    },
    "mode": "execute"
  }'

Security

  • HTTPS Only: All MCP servers must use HTTPS
  • Token Encryption: API keys are stored encrypted
  • Row-Level Security: Users can only access their own integrations
  • Audit Logging: All tool executions are logged
  • URL Validation: Internal/localhost URLs are blocked

FAQ

Yes! Agents can use any connected tool during live voice calls. The agent decides when to invoke tools based on the conversation.
Go to Settings → Apps to see all connected integrations and their available tools. The agent automatically has access to all tools from connected integrations.
Currently, agents have access to all connected tools. Per-agent tool restrictions are on the roadmap.
MCP calls have a 30-second timeout. If a server doesn’t respond in time, the agent will gracefully handle the error and continue the conversation.
Yes! Follow the MCP specification to build a compatible server, then add it as a custom server.