Integrate your own app

Two ways to make your own application callable from a workflow — an MCP server, or a JSON-emitting CLI.

To call your own application from a workflow step, expose it as something flowwork can import as a connector. Two paths:

Expose your app’s features as tools on an MCP server, then import it:

flowctl mcp import --name myapp --transport http --url https://myapp.internal/mcp \
    --header 'Authorization=Bearer ${credentials.token}' --secret token

Each tool becomes a connector operation you call from a connector() step. This is best when you want a typed, self-describing surface that’s reusable across both agents and workflows. See MCP connectors for the full import flow, the stdio vs HTTP transports, and the security gate for spawned servers.

2. Wrap your app as a JSON-emitting CLI

If you already drive your app from the shell, wrap it as a command that prints JSON and register it with the CLI connector — flowwork runs the command and parses its stdout as the operation result.

CLI import — coming soon

The CLI connector adapter is designed on the same process substrate as stdio MCP but is not shipped yet. Use the MCP path today; this page will expand when flowctl cli import lands.

Which to choose

  • MCP server — a durable, typed surface reused across many workflows and by Claude Code directly. Worth it when the integration is more than a one-off.
  • CLI wrapper — the fastest path for an app you already script, once it’s available.

Either way, the workflow side is the same connector() step described in the connectors overview.