#how can i integrate google calendar, calendly, cal.com, salesforce, hubspot and all major tools wit
1 messages · Page 1 of 1 (latest)
Short answer
- Use ElevenLabs Agents Platform “server tools” (webhook tools) to call external APIs, secure credentials with the Secrets Manager or Workplace Auth Connections, and stream the live conversation over the Agent WebSocket. ElevenLabs provides first‑party guides for Salesforce, HubSpot, and Cal.com, a Calendly integration page, and policy guidance for Google Calendar (Workspace) access. For “many more” apps, connect an MCP server (e.g., Zapier MCP) or an automation hub like Make. Citations and exact endpoints below.
How to wire it up (code- and API-first)
- Stand up the real-time voice agent
- Connect your UI/telephony to the agent over WebSocket:
- Endpoint: wss://api.elevenlabs.io/v1/convai/conversation (supports audio in/out, tool calls, and events). Use signed URLs for client-side auth; tokens expire after ~15 minutes. Never expose your API key in the client. (elevenlabs.io)
- Add tools that call external systems
- Configure “Server tools” (webhook tools) to hit third‑party REST endpoints. Supported auth patterns: OAuth2 Client Credentials, OAuth2 JWT, Basic, Bearer tokens, and custom headers. Attach an Auth Connection or select a stored Secret in each tool. (elevenlabs.io)
- Store credentials via the Secrets API (POST /v1/convai/secrets) or in the dashboard, then reference them from tools. (elevenlabs.io)
- Calendars and schedulers
- Cal.com (first‑party guide with exact endpoints):
- Create two tools:
- get_available_slots → GET https://api.cal.com/v2/slots
- book_meeting → POST https://api.cal.com/v2/bookings
- Auth: Authorization: Bearer YOUR_API_KEY (store as a secret).
- Tip: inject current time via a small “time” tool or prompt override. (elevenlabs.io)
- Create two tools:
- Calendly:
- ElevenLabs’ Calendly integration page describes real‑time appointment booking, availability checks, and webhooks. Implement it with the same Server Tools pattern above (Calendly REST + webhooks), mapping your bearer token or OAuth into a tool auth. (elevenlabs.io)
- Google Calendar (direct):
- Google Workspace integrations (Gmail/Calendar) require Zero Retention Mode (ZRM) to meet Google’s Limited Use policy; data cannot be used for model training or retained beyond permitted windows. If you connect Google Calendar directly, run the agent in ZRM and follow Workspace API compliance. (elevenlabs.io)
- Alternatively, avoid handling Google tokens directly by scheduling through Cal.com/Calendly (which sync to Google/Outlook), using the Cal.com or Calendly tools above. (elevenlabs.io)
- ElevenLabs also published a blog walkthrough using SureTriggers to wire ElevenLabs and Google Calendar (workflow approach). (elevenlabs.io)
- CRMs
- HubSpot (step‑by‑step guide with tool specs):
- Create a HubSpot Private App; copy the access token and store it as a secret with a “Bearer ” prefix (e.g., “Bearer pat-…”) named hubspot_key.
- Example tools:
- search_hubspot_contact → GET https://api.hubapi.com/crm/v3/objects/contacts/search
- create_hubspot_deal → POST https://api.hubapi.com/crm/v3/objects/deals
- update_hubspot_contact → PATCH https://api.hubapi.com/crm/v3/objects/contacts/{contactId}
- create_support_ticket → POST https://api.hubapi.com/crm/v3/objects/tickets
is it possible to give a agent integration to a tool but not let another agent have access to it
Yes. In ElevenLabs Agents, tools are separate objects and each agent explicitly opts into the tools it can use.
How to scope a tool to just one agent:
- Create the tool (client or server) via POST /v1/convai/tools to get its tool ID. (elevenlabs.io)
- Assign it only to the desired agent by listing that ID in conversation_config.agent.prompt.tool_ids when creating/updating the agent. As of July 23, 2025, tool_ids is required (legacy prompt.tools is rejected). (elevenlabs.io)
- Do not include that tool ID in other agents’ configurations; they won’t be able to call it. The help article reiterates “You define which tools your agent can use.” (help.elevenlabs.io)
Auth/credentials:
- Attach authentication (OAuth2, JWT, Basic, Bearer, custom headers) to the tool itself; only agents that include that tool can use those credentials. (elevenlabs.io)
Verification:
- You can manage and inspect tools via the tools endpoints; the Feb 10, 2025 changelog notes updates around tools management and agent-tool linkage (e.g., tool APIs and agent updates for using tool IDs). (elevenlabs.io)
References:
- How tools are assigned to agents (tool_ids and deprecation timeline). (elevenlabs.io)
- Tools API (create/get). (elevenlabs.io)
- Tool types and auth attachment. (elevenlabs.io)
- Help Center overview (“You define which tools your agent can use”). (help.elevenlabs.io)
Sources:
Create tool | ElevenLabs Documentation
Agent tools deprecation | ElevenLabs Documentation
How to use tools with ElevenLabs Agents (formerly Conversational AI)? – ElevenLabs
Server tools | ElevenLabs Documentation
February 10, 2025 | ElevenLabs Documentation
Agent tools deprecation | ElevenLabs Documentation
Create tool | ElevenLabs Documentation
Server tools | ElevenLabs Documentation
How to use tools with ElevenLabs Agents (formerly Conversational AI)? – ElevenLabs
okay so how do i use the API to integrate a tool to an agent without letting other agents use it