Mixmax MCP

Live

API KEY

SALES

CRM & Sales

Your agent reads email engagement signals, manages sequences, and books meetings from Mixmax on behalf of the authenticated sales rep.

  • Acts as the user: Sequence sends, open tracking, and scheduling actions are attributed to the rep who authorized the agent, not a shared service account.
  • Credentials stay vaulted: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: Permissions enforced per-user. 90-day audit trail.
Mixmax MCP
agent · Acme Q3
Run
Which prospects opened my last sequence but haven't replied?
S
mixmax_sequence_recipients_list
85ms
Mixmax MCP agent
Found 12 prospects who opened at least once but haven't replied: top 3 are Sarah Chen (4 opens), Marcus Liu (3 opens), and Priya Nair (2 opens).
Sources: 12 recipients, last 30 days
mixmaxmcp
12 recipients
18:29
Message Claude...

Tools your sales agent reaches for on Mixmax MCP, scoped per user.

CALL ANY TOOL
Each tool runs under the authenticated rep's Mixmax identity, so sequences, tracking, and scheduling stay tied to the right account.
mixmaxmcp_meetings
Meetings
Query Mixmax meetings and calendar data. Supports actions: get_event, search_events, find_event_by_meet_id, get_calendar, get_meeting_prep, list_meeting_preps, get_meeting_summary, search_meeting_summaries, get_meeting_transcript, get_meeting_assistant_settings, list_meeting_types, get_admin_copilot_settings.
Parameters
Name
Type
Required
Description
action
string
Required
The action to perform. See the tool description for accepted values.
after
string
Optional
ISO 8601 timestamp. Return events that start after this date and time.
attendee
string
Optional
Email address of the attendee to filter meeting summaries by.
before
string
Optional
ISO 8601 timestamp. Return events that start before this date and time.
domain
string
Optional
Attendee email domain to filter events by (for search_events).
emails
array
Optional
List of email addresses to filter events by.
eventId
string
Optional
The unique calendar event ID (required for get_event).
eventType
string
Optional
Type of calendar event to filter by. Accepted values: default, focusTime, outOfOffice.
expand
string
Optional
Expand events to include additional data. Accepted values: mixmax:summary.
from
string
Optional
ISO 8601 timestamp. Start of the date range for meeting summaries search.
includeContext
boolean
Optional
Whether to include full LLM context in the meeting prep response. Defaults to true.
isExternal
boolean
Optional
When true, filters to external meetings only.
limit
number
Optional
Maximum number of results to return.
meetingId
string
Optional
The Google Meet ID of the event (required for find_event_by_meet_id).
meetingKey
string
Optional
The unique meeting key returned by search_meeting_summaries. Required for get_meeting_summary and get_meeting_transcript.
owner
string
Optional
Filter meeting summaries by ownership. Accepted values: me, shared, workspace.
skip
number
Optional
Number of results to skip for pagination.
title
string
Optional
Filter meeting summaries by meeting title.
to
string
Optional
ISO 8601 timestamp. End of the date range for meeting summaries search.
uniqueKey
string
Optional
The unique meeting prep key (required for get_meeting_prep).
mixmaxmcp_mixmax_info
Mixmax Info
mixmaxmcp_sequences
Sequences
Build your Agent
Same auth pattern across every framework.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mixmaxmcp")

mcp = MultiServerMCPClient({
"mixmaxmcp": {
"url": "https://mcp.scalekit.com/mixmaxmcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mixmaxmcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/mixmaxmcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mixmaxmcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/mixmaxmcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mixmaxmcp")
# Connect to MCP at https://mcp.scalekit.com/mixmaxmcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your agent to get started.
Engagement & follow-up
Copy the prompt
Copied
List every prospect who opened my Outbound Q3 sequence more than twice but hasn't replied, sorted by open count.
Copy the prompt
Copied
Find all tasks due today and draft a follow-up email for each contact based on their last engagement.
Copy the prompt
Copied
Which contacts clicked a link in my emails this week but haven't booked a meeting yet?
Sequence management
Copy the prompt
Copied
Show me all active sequences with fewer than 10 enrolled recipients and flag any that have zero replies.
Copy the prompt
Copied
Enroll these three contacts in my Enterprise Trial sequence with their first names as personalization variables.
Copy the prompt
Copied
Pause my SDR Outreach sequence and tell me how many recipients are still in progress.
Pipeline & meeting intel
Copy the prompt
Copied
Pull my scheduling link usage for this month and tell me which time slots book most often.
Copy the prompt
Copied
Summarize all email activity for sarah@acme.com across every sequence I've run.
Copy the prompt
Copied
List every prospect with an open task overdue by more than 3 days.
SEE HOW AUTH WORKS
User authorises once. Every agent call after uses their token with scope enforcement.
1
Authorize
Your user connects
Mixmax MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Mixmax MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Mixmax MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Mixmax MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other connectors.
GTM
CRM AI agent
Log calls, update opportunity stages, and surface stalled deals across HubSpot or Salesforce. No manual data entry.
SALES
Deal intelligence agent
Combine Gong, Attio, and Slack signals to surface deal risks and next-best actions. Updated after every call.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
Other connector libraries treat auth as a demo afterthought.
01.
Shared tokens break per-user analytics
A shared Mixmax API key looks fine in a demo. In production every sequence send and open event shows as a service account. Scalekit resolves the real rep's credential so engagement data, sequence attribution, and CRM sync carry the correct sender identity.
// shared key
mixmax audit → bot_service_account

// scalekit
mixmax audit → rep@acme.com ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Mixmax MCP today. Others tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does every sales rep need their own Mixmax API key, or can I use one shared key?
Every user connects their own Mixmax API key. Scalekit vaults each key under a per-user, per-tenant namespace. A shared key collapses all sequence sends and engagement events into a single audit identity, breaks Mixmax's per-rep attribution, and gives every agent access to every rep's sequences — which is not a permission model, it is a permission absence.
How does Scalekit store the Mixmax API keys?
Keys are encrypted at rest with AES-256 and resolved at request time directly into the tool call header. The plaintext key never appears in agent context, logs, or LLM prompts. You can rotate or revoke a key from the Scalekit dashboard without redeploying your agent.
Can I restrict which Mixmax tools a specific agent or tenant can call?
Yes. Use listScopedTools to return only the tools permitted for a given user or tenant. Your agent never sees tools outside the allowed scope, so it cannot accidentally call mixmax_sequence_recipient_add when only read access is granted. Scope lists update at runtime without redeployment.
What happens when a rep's Mixmax API key is revoked or their account is deactivated?
Scalekit detects the 401 on the next tool call and surfaces a re-auth event to your application. The agent stops executing Mixmax tools for that user until a fresh key is vaulted. No other reps or tenants are affected. You can also proactively delete a user's credential via the Scalekit API when offboarding a rep.
Mixmax tracks email opens and clicks — will those signals still be attributed to the right sender when an agent acts on behalf of a rep?
Yes. Because Scalekit resolves the rep's own API key at call time, every sequence enrollment, send, and tracking event goes through the authenticated rep's Mixmax account. Opens, clicks, and replies are attributed to the rep — not a shared service identity — so your CRM sync, analytics dashboards, and sequence reporting remain accurate.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""mixmaxmcp"": {
""url"": ""https://mcp.scalekit.com/mixmaxmcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.mixmaxmcp]
url = ""https://mcp.scalekit.com/mixmaxmcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""mixmaxmcp"": {
""url"": ""https://mcp.scalekit.com/mixmaxmcp"",
""type"": ""http""
}
}
}