Workflows
MCP (Model Context Protocol)

Model Context Protocol (MCP)

Indite MCP lets any MCP-compatible AI client — Claude, Cursor, Windsurf, and more — directly discover, build, publish, and execute your automation workflows through natural language.

Instead of switching to the Indite dashboard, you simply ask your AI assistant:

"Create a workflow that sends a Slack alert whenever a new lead is added to HubSpot, then run it."

The AI handles the rest.

MCP Access requires a Professional or Enterprise plan. Upgrade your plan (opens in a new tab) to get started.


How It Works

Your AI Client (Claude / Cursor / ...)

        │  MCP Protocol (SSE)

  Indite MCP Server   ──▶   Indite Platform
  mcp.indite.io                portal.indite.io

        └── Tools: list_workspaces, create_workflow,
                   update_workflow, execute_workflow, ...

The MCP server exposes your Indite account as a set of tools. Your AI client calls these tools to manage and run workflows on your behalf, authenticated by your MCP token.


Quick Setup

Claude Connector (OAuth — No Token Needed)

The easiest way to connect. Uses OAuth so you never copy or paste a token.

Open Claude Integrations

Go to claude.ai (opens in a new tab)SettingsIntegrations

Find Indite

Search for Indite in the connector directory and click Add.

Authorize

You'll be redirected to your Indite account to review permissions. Click Authorize.

Start using it

Ask Claude anything about your workflows:

Which workspaces do I have access to?

Once connected, Claude remembers the connection — no setup needed for future sessions.


Available Tools

Your AI client can use any of the following tools once connected:

ToolWhat it does
list_workspacesReturns all workspaces accessible with your token
list_workflowsLists workflows in a workspace with IDs, names, and status
create_workflowCreates a new DRAFT workflow in a workspace
update_workflowUpdates a workflow's blocks, edges, variables, and settings
publish_workflowPublishes a workflow so it can be executed
set_workflow_activeEnables or disables a workflow's active state
execute_workflowTriggers a published workflow with optional input values
get_execution_statusPolls the status and output of a workflow run
get_workflow_block_schemasReturns the full schema for all block types
submit_human_inputResumes a paused (human-in-the-loop) execution

Examples

Example 1 — Build a Telegram Notification Bot

Ask Claude to build an end-to-end Telegram alert workflow in one conversation:

You:
I want a workflow that listens for incoming Telegram messages and replies with
an AI-generated response using Gemini. I have a Telegram bot credential saved
as "my-telegram-bot" and a Gemini credential as "gemini-prod" in my workspace.
Create this in my "Production" workspace, publish it, and activate it.

Claude:
Sure! Let me start by listing your workspaces to find the workspace ID...
[calls list_workspaces]

Found "Production" → ID: ws_abc123.
Now I'll create the workflow...
[calls create_workflow]
[calls get_workflow_block_schemas]
[calls update_workflow with telegram trigger → gemini block → telegram reply]
[calls publish_workflow]
[calls set_workflow_active]

✅ Done! Your Telegram bot is live. Send a message to your bot to try it.

What happened behind the scenes:

  1. list_workspaces — found the workspace ID
  2. create_workflow — created "Telegram AI Bot" (DRAFT)
  3. get_workflow_block_schemas — retrieved schemas for chatTrigger and gemini blocks
  4. update_workflow — added a Telegram Chat Trigger → Gemini block → Telegram reply, auto-compiled
  5. publish_workflow — set status to PUBLISHED
  6. set_workflow_active — enabled real-time listening

Example 2 — Execute a Workflow and Get Results

Ask Claude to run an existing published workflow and wait for the output:

You:
Run the "Fraud Detection" workflow in my "Analytics" workspace
with these values: order_id = "ORD-5021", amount = 3200, country = "NG".
Tell me the result.

Claude:
[calls list_workspaces → finds "Analytics" workspace]
[calls list_workflows → finds "Fraud Detection" → ID: wf_xyz789]
[calls execute_workflow with contextVariables]

Execution started — ID: exec_001. Polling for result...
[calls get_execution_status every few seconds]

✅ Result: FLAGGED
- Risk score: 0.91
- Reason: Unusual amount for this country/card combination
- Recommended action: Manual review

Useful for:

  • Running batch checks from a chat interface
  • Integrating Indite workflows into AI agent pipelines
  • Testing workflows with real data before scheduling them

Example 3 — Create a Daily Report Workflow

Ask Claude to build a scheduled workflow that compiles and emails a daily summary:

You:
Build a workflow that runs every day at 8 AM UTC. It should:
1. Call https://api.myapp.com/stats (GET, Authorization: Bearer {{apiKey}})
2. Send the JSON response to GPT-4o to write a human-friendly summary
3. Email the summary to reports@mycompany.com

Use my "openai-prod" credential. Workspace: "Operations".

Claude:
[calls list_workspaces → finds "Operations"]
[calls create_workflow → "Daily Stats Report"]
[calls get_workflow_block_schemas]
[calls update_workflow with:
  - schedule trigger (cron: 0 8 * * *)
  - httpRequest block → POST to stats API
  - openai block with GPT-4o to summarize
  - sendEmail block → reports@mycompany.com
]
[calls publish_workflow]

✅ Workflow created and published! It will run daily at 08:00 UTC.
I also added an {{apiKey}} variable — set its value in the workflow
variables panel if it isn't already configured.

What you can customize in the prompt:

  • Frequency: "every Monday at 9 AM", "every hour", "on the 1st of each month"
  • Multiple recipients: "CC finance@mycompany.com"
  • Conditional sends: "only email if revenue dropped more than 10%"

Example 4 — Human-in-the-Loop Approval Flow

Build and run a workflow that pauses for human review before taking an irreversible action:

You:
I need a workflow that:
1. Triggers via webhook with a refund request payload
2. Uses GPT-4o to evaluate whether the refund is valid (policy: orders < 30 days)
3. Pauses and asks for human approval if the amount > $500
4. If approved, calls https://api.payments.com/refund
5. Sends a Slack notification either way

Create it in "Customer Success" workspace.

Claude:
[creates workflow with webhook trigger → openai → condition (amount > 500) →
  human-input block → httpRequest → slack notification]
[publishes workflow]

✅ Done! The workflow is published. Here's the webhook URL to send refund requests to:
https://portal.indite.io/api/v1/webhook/wf_refund123

When a refund > $500 is received, the workflow will pause and notify your team.
Use this to resume it after review:

[calls get_execution_status to show how to check for PAUSED state]

To approve from Claude later, just say:
"Resume execution exec_abc with approved = true"

Resuming a paused execution:

You:
Resume execution exec_refund_001 — approved = true, reviewed by "Sarah".

Claude:
[calls submit_human_input with blockId, output: { approved: true, reviewer: "Sarah" }]

✅ Execution resumed. The refund was processed and Slack was notified.

Token & Security

One token per user

Your MCP token is user-scoped — it works across all workspaces you have access to. You can find and revoke it at any time in Settings → MCP Access (opens in a new tab) or Settings → API Keys (opens in a new tab).

Rotating your token

If you suspect your token was exposed:

  1. Go to Settings → MCP Access (opens in a new tab)
  2. Click Rotate Token
  3. Update any clients that use the old token
  4. The old token is immediately invalidated

Exposed Workflows

By default, MCP clients with a valid token can manage all workflows in your workspaces but can only execute workflows you have explicitly toggled on in the Exposed Workflows section of the MCP settings page.

This gives you fine-grained control over which workflows AI clients can trigger.

⚠️

Never commit your MCP token to version control. Use environment variables or a secrets manager.


OAuth for Claude Connector

When connecting via Claude Connector (claude.ai/integrations), Indite uses OAuth 2.0 with PKCE — no manual token handling required.

EndpointURL
Discoveryhttps://mcp.indite.io/.well-known/oauth-authorization-server
Authorizationhttps://portal.indite.io/oauth/mcp-authorize
Token exchangehttps://portal.indite.io/api/oauth/mcp-token
Client registrationhttps://portal.indite.io/api/oauth/mcp-register

Flow:

  1. Claude registers itself via dynamic client registration
  2. You're redirected to Indite to log in and review permissions
  3. On authorization, a signed short-lived code is issued (10-minute TTL, PKCE-protected)
  4. Claude exchanges the code for your MCP token
  5. The token is used as a Bearer token on all subsequent MCP calls

Troubleshooting

ProblemSolution
Missing token errorEnsure ?token=YOUR_MCP_TOKEN is in the SSE URL
Tools not showing in ClaudeRestart Claude Desktop / reopen the chat session
401 Unauthorized from APIToken may be expired or revoked — rotate it in Settings
Workflow execution stuck at RUNNINGCheck the workflow for a human-input block that needs submit_human_input
Workflow not foundConfirm the workflow is in a workspace your token has access to
Claude Connector authorization failsMake sure you're logged in to the same Indite account in both tabs

Listing on MCP Registries

Indite MCP is available on:


Need Help?

Indite Documentation v1.6.0
PrivacyTermsSupport