Works with
Everything below uses the same three doors into SmartContact, and the same rules: the MCP server for AI agents, the REST API (described in openapi.json) for everything else, and webhooks for events. Each connection acts with the role of its key, and agents can never delete, bulk-change or export.
Zapier, n8n and Make
| Platform | Starts on | Can do | Status |
|---|---|---|---|
| Zapier | New or updated company, contact or deal; new or completed task (instant) | Create company, contact, deal or task; add a note; find or create a company; find a contact | Beta, every plan. Join with the invite on the Zapier page |
| n8n | SmartContact Trigger: any of the webhook events, signature checked | Create, get, find and update companies, contacts, deals and tasks; add notes | Available, every plan. Self-hosted n8n: Settings › Community Nodes › Install, enter n8n-nodes-smartcontact (npm) |
| Make | Watch Events (instant) | Create a company, contact, deal or task; add a note; search companies and contacts; any API call | Beta, every plan. Add it to your Make account with the SmartContact CRM invite, then connect with an Integration key |
On n8n Cloud (until the node is verified), or from any other automation tool, you can connect yourself: subscribe their webhook URL to the events you want (how) and call the API with an HTTP step and your key.
AI agent frameworks
Point the framework's MCP client at the server with an agent key. The agent then gets SmartContact's tools (search, records, notes, tasks, stages and more).
CrewAI
from crewai import Agent
from crewai_tools import MCPServerAdapter
server = {"url": "https://app.smartcontact.online/mcp", "transport": "streamable-http",
"headers": {"Authorization": "Bearer sc_…"}}
with MCPServerAdapter(server) as tools:
rep = Agent(role="Sales assistant", goal="Keep the CRM up to date", backstory="…", tools=tools) AutoGen
from autogen_ext.tools.mcp import StreamableHttpServerParams, mcp_server_tools
params = StreamableHttpServerParams(url="https://app.smartcontact.online/mcp", headers={"Authorization": "Bearer sc_…"})
tools = await mcp_server_tools(params) # give these to your AssistantAgent Both can also call the REST API directly as ordinary tools, generated from openapi.json.
AI coding and desktop tools
Cursor
Add SmartContact to .cursor/mcp.json in a project, or the global file in your home folder:
{ "mcpServers": { "smartcontact": { "url": "https://app.smartcontact.online/mcp", "headers": { "Authorization": "Bearer sc_…" } } } } LM Studio
In LM Studio's mcp.json (Program › Install › Edit mcp.json), add the same entry. Local models then use SmartContact's tools, and only tool calls leave your computer.
{ "mcpServers": { "smartcontact": { "url": "https://app.smartcontact.online/mcp", "headers": { "Authorization": "Bearer sc_…" } } } } No-code AI builders
MindStudio, StackAI, Gumloop and Beam AI can all reach SmartContact. Where the builder can add a remote MCP server, use
https://app.smartcontact.online/mcp with an agent key. Otherwise add an HTTP or API tool: the base URL is https://app.smartcontact.online/v1, the header is
Authorization: Bearer sc_…, and the operations are in openapi.json (most builders can import it). To start a workflow when
something changes in the CRM, give SmartContact the builder's webhook URL (how).
Which key to use
- AI agents: Settings › API keys › kind AI agent, read only or read & write. Their changes are labelled on the timeline.
- Automations (Zapier, n8n, Make, scripts): kind Integration, with the role it should act as.
- One key per tool, so you can revoke one without breaking the others. Keys never have Owner or Admin rights.