Skip to content

Guides

Workflow bot demos

Start with a preset, give your bot a role, and chat while it works across connected software twins. Every bot has an isolated workspace, persistent conversation history, and inspectable tool results.

Open workflow bots →

Run your first demo

  1. Choose a workflow such as Deployment incident, Sales follow-up, or Billing operations.
  2. Name your bot, select a provider and model ID, and adjust its instructions and workspace lifetime.
  3. Choose Launch workflow. Blobfish assembles a real seeded Twin environment under your identity.
  4. Use a saved provider connection, an operator-configured connection, or enter a provider key for this browser session. An unavailable model returns an explicit error.
  5. Send a starter prompt or your own message. Watch tool calls in Chat or Activity. Open Workspace to inspect the state the bot changed.
  6. Send follow-up messages, reload, or return to the bot from the sidebar. The same conversation and workspace continue.

Browser demos use the existing Twin limits: two live environments, three model turns per hour, and six tool steps per turn. Account and API-key identities use the configured step limit, up to 20. Each turn is bounded to three minutes.

When a chat reaches its tool limit, the bot gets one final response with tools disabled to summarize what it observed and identify unfinished work. Blobfish displays the limit notice and records skipped tool requests separately from executed actions. This summary remains ungraded; it does not certify that the workflow succeeded.

Available presets

Choose from 21 bot setups. The catalog covers e-commerce checkout, SaaS billing and upgrades, DevOps CI/CD, customer support, document collaboration, payment fraud, access reviews, high-volume messaging, internationalization, and scheduling conflicts, plus Salesforce follow-up. Search by workflow, scenario name, app, or tag.

Variants add abandoned checkouts, duplicate credits, an already-tracked release, approval boundaries, finance sharing, partial refunds, contractor offboarding, an alert flood, conflicting refund announcements, and a Berlin–Tokyo handoff. Each starts with different records and includes editable bot instructions and starter prompts.

WorkflowBotConnected apps
Deployment incidentRelease engineergithub, slack, discord
Sales follow-upSales assistantsalesforce
Billing operationsBilling specialiststripe, slack, notion
Customer supportSupport teammateslack, stripe, notion
Document reviewDocument coordinatorgoogledrive, slack, notion
Scheduling conflictsScheduling assistantgooglecalendar, slack
Checkout recoveryCommerce operatorstripe, slack
Payment risk reviewRisk analyststripe, slack
Access reviewAccess reviewergithub, slack, notion
Message triageOn-call coordinatorslack, discord
International billingGlobal operations assistantslack, stripe, notion
Abandoned checkoutCheckout coordinatorstripe, slack
Invoice and credit reconciliationFinance reconcilerstripe, slack, notion
Release already trackedIncident coordinatorgithub, slack, discord
Refund approval boundaryRefund coordinatorslack, stripe, notion
Finance sharing reviewSharing coordinatorgoogledrive, slack, notion
Partial refund protectionPayments specialiststripe, slack
Contractor offboardingOffboarding reviewergithub, slack, notion
Multi-incident alert floodIncident triage leadslack, discord
Localized refund contradictionMultilingual reconcilerslack, stripe, notion
Berlin–Tokyo handoffHandoff schedulergooglecalendar, slack

Preset availability depends on mounted twins. Coverage notes are shown before launch. The demo uses the existing Twin runtime and does not claim to have provisioned a separate cloud container.

Steer, stop, reset, and replay

During an active turn, send a clarification. The UI distinguishes a queued instruction from the bot’s delivery acknowledgment. Stop cancels the running turn; incomplete writes are discarded before the next turn. In Setup, Reset opens a new conversation at the original scenario baseline. Old conversations and their execution tapes remain available from Conversation history.

Activity exports a Blobfish JSON document containing bot configuration, conversation messages, tool events, completed-turn identifiers, and workspace state. Provider keys and private thinking blocks are excluded. Tool actions can be replayed; receipts that omit private model content are labeled and cannot reproduce the exact model request. Free-form chat has no task verifier, so it is shown as ungraded. Use the environment’s task runner for measured rewards.

API

All bot operations are owner-scoped. Use your existing Blobfish API key or the browser session cookie. Saved bot configuration accepts no provider secrets.

Create a bot
POST /api/v1/twin/bots
{
  "template_id": "deployment-incident",
  "name": "Release engineer",
  "provider": "openai",
  "model": "gpt-5-mini",
  "max_steps": 12,
  "ttl_minutes": 60
}

To attach to an existing owned Twin environment with the required apps, include env_id. Each bot gets a separate conversation session.

Chat
POST /api/v1/twin/bots/{bot_id}/chat
{
  "conversation_id": "<from bot.conversations>",
  "turn_id": "turn_<unique_request_id>",
  "message": "Investigate the failed check on PR #482."
}

Chat streams start, step, steer_ack, complete, and error events. A repeated completed turn ID replays its receipt. A different prompt with that ID is rejected. Optional api_key and base_url are request-scoped; custom web endpoints require public HTTPS.

Method / pathBehavior
GET /botsTemplates, owned bots, and provider availability
GET /bots/{id}Conversation, state, tools, and setup; optional conversation_id
PATCH /bots/{id}Save setup with the current revision
POST /bots/{id}/steerQueue a message for the active turn
POST /bots/{id}/stopCancel the supplied turn_id
POST /bots/{id}/resetStart a new baseline conversation with the current revision
GET /bots/{id}/exportDownload conversation and state

Paths in the table are relative to /api/v1/twin. Manage environment lifetime and termination from Twin environments.