Skip to main content

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)
Agents vs. the LLM API

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

PathUse it whenStart here
No-code connectorYou automate in a workflow tooln8n · Activepieces · Zapier
SDK / your backendYou build a custom app or service (Node, serverless)@zihin/agent-client
AI IDE / MCPYou connect Claude Desktop, Cursor, Codex…MCP Server

Platform support

PlatformStatusHow it connects
n8nRolling outZihin Agent node (community node) over the core
ActivepiecesRolling outZihin piece (Invoke Agent action) over the core
ZapierRolling outZapier app (Invoke Agent) over the core
Custom backendRolling out@zihin/agent-client (Node ≥ 18)
MakePlannedDeclarative — needs the synchronous JSON endpoint
AI IDEs (MCP)AvailableMCP Server
Rolling out

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.

Why the same core everywhere

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

  1. An agent. Create one in the console or via the Agents API. You invoke it by its agentId.
  2. An API key. zhn_live_* (or zhn_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 requestId for support.

Next: pick a connector above, or read the Agent Client SDK reference.