Integrations Overview
Connect external tools and platforms to Zihin by invoking agents. Every integration — a no-code connector, a custom backend, or an embedded product — calls a hosted Zihin agent, not a raw LLM.
The principle: external input = agent invocation
When something outside Zihin needs intelligence, it invokes an agent. The agent runs the full loop on Zihin's side — tools, MCP, memory, multi-step reasoning — under your tenant's RBAC, quota, HITL and audit. You send a message and get a governed result; you never wire up models, prompts, or tool execution yourself.
External platform ──▶ Zihin agent (react loop: tools · MCP · memory · HITL)
(n8n, Zapier, under tenant RBAC · quota · audit
your backend…) ◀── result (content, usage, session, sources)
This pattern is about agents (/api/v2/agents/:id). If you only need a stateless model call or
media processing, see the LLM API instead. New integrations should prefer agents.
The shared core: @zihin/agent-client
Every connector is a thin shell over one core package — @zihin/agent-client.
It hides the transport (SSE streaming, async triggers) behind a small, governed API and is the
reference client for any integration.
import { createClient } from '@zihin/agent-client';
const zihin = createClient({ apiKey: process.env.ZIHIN_API_KEY }); // zhn_live_*
const res = await zihin.invokeAgent({ agentId, message: 'Summarize this order' });
Choose your path
| Path | Use it when | Start here |
|---|---|---|
| No-code connector | You automate in a workflow tool | n8n · Activepieces · Zapier |
| SDK / your backend | You build a custom app or service (Node, serverless) | @zihin/agent-client |
| AI IDE / MCP | You connect Claude Desktop, Cursor, Codex… | MCP Server |
Platform support
| Platform | Status | How it connects |
|---|---|---|
| n8n | Rolling out | Zihin Agent node (community node) over the core |
| Activepieces | Rolling out | Zihin piece (Invoke Agent action) over the core |
| Zapier | Rolling out | Zapier app (Invoke Agent) over the core |
| Custom backend | Rolling out | @zihin/agent-client (Node ≥ 18) |
| Make | Planned | Declarative — needs the synchronous JSON endpoint |
| AI IDEs (MCP) | Available | MCP Server |
The agent connectors and @zihin/agent-client are being published to npm and the respective
marketplaces. The pages below are final — availability per platform is rolling out.
A single, tested client means every platform inherits the same behavior: governed invocation, streaming, session continuity, retry/timeout safety, SSRF protection and sanitized errors.
What you need
- An agent. Create one in the console or via the
Agents API. You invoke it by its
agentId. - An API key.
zhn_live_*(orzhn_test_*) from Settings → API Keys. The tenant is embedded in the key. Direct invocation works with any role; provisioning async triggers needs an admin/editor key. See Authentication.
Security model
- Governed by the agent — every call runs under the agent's RBAC, quota and audit; HITL pauses are surfaced back to the caller (rolling out per platform).
- Key handling — the key is sent only to Zihin hosts. Connectors keep an explicit Allow custom base URL opt-in (off by default) so the domain whitelist stays on unless you deliberately target a private deployment.
- Sanitized errors — failures never leak the key or stack; they carry a
requestIdfor support.
Next: pick a connector above, or read the Agent Client SDK reference.