# Bicycle Docs > Bicycle is an AI analytics platform: it connects to a company's data sources, models the business as KPIs, watches those KPIs with patterns that detect anomalies and explain their causes, and lets people ask questions in chat, build dashboards and data stories, and act through connected tools. Bicycle Studio lets people build data apps with functions, agents and workflows, with a coding agent guiding them through the Studio MCP. Every page on this site has a raw markdown copy at the page URL plus `.md` (for example https://docs.bicycle.ai/docs/studio/architecture/overview.md). https://docs.bicycle.ai/llms-full.txt contains every page in one file. Coding agents connected to the Studio MCP should call the `studio_guide` tool for the same text as the coding-agent guide below (also served at `GET /api/studio/v1/guide`). ## Bicycle Studio - [Studio overview](https://docs.bicycle.ai/docs/studio/overview.md): What Bicycle Studio is, who it is for, and a map of these docs, for people and for the coding agents that build with them. - [Limits, safety and permissions](https://docs.bicycle.ai/docs/studio/limits-and-safety.md): Every limit and every "a person must do this" rule in one place, who can see what, and what is treated as untrusted. - [Troubleshooting, every error in plain words](https://docs.bicycle.ai/docs/studio/troubleshooting.md): Every error code Studio can answer, what it means, and what to do, grouped by where you meet it. ## Studio: Getting started - [What Studio is](https://docs.bicycle.ai/docs/studio/getting-started/what-is-studio.md): The words you will meet in Bicycle Studio, in plain language, and how the pieces fit together. - [Your first app in ten minutes](https://docs.bicycle.ai/docs/studio/getting-started/first-app.md): Build and publish a data app from a description, with a coding agent doing the work and you checking the numbers. ## Studio: Building with a coding agent - [Connect Claude Code or Claude Desktop](https://docs.bicycle.ai/docs/studio/coding-agent/connect.md): Connect a coding agent to the Bicycle Studio MCP, with a sign-in or an API token, and check which tools it can see. - [The start-here guide for your agent](https://docs.bicycle.ai/docs/studio/coding-agent/start-here.md): What a coding agent should know before it builds on Studio, the order of work, the golden rules, and the block to paste into it. - [What the agent will ask you](https://docs.bicycle.ai/docs/studio/coding-agent/hand-holding.md): The hand-holding protocol a Studio coding agent follows, what it looks like from your side, and which steps only you can take. ## Studio: Data apps - [Data apps, compose or hand-build](https://docs.bicycle.ai/docs/studio/data-apps/overview.md): What a data app is, the two ways to make one (composed from a description, or hand-built from the public template), and how a hand-built app calls functions and workflows. - [The app manifest](https://docs.bicycle.ai/docs/studio/data-apps/manifest.md): Every field of bda.manifest.json, the declared queries, imports, chat, tabs, analyses, persistence and calendar, with the limits. - [Publish, share and schedules](https://docs.bicycle.ai/docs/studio/data-apps/publish-share-schedules.md): The states of an app version, what publishing changes, how sharing works, and how to email a picture of an app on a schedule. ## Studio: Functions - [Functions and their kinds](https://docs.bicycle.ai/docs/studio/functions/overview.md): What a function is, the four kinds (Code, Ask AI, Sort into categories, Agent), what each may do, and what it costs. - [Try, test, publish, disable](https://docs.bicycle.ai/docs/studio/functions/lifecycle.md): The life of a function version, from a draft you try, through tests, to a published version callers pin, and how to switch one off without breaking anyone. - [Use functions in apps](https://docs.bicycle.ai/docs/studio/functions/use-in-apps.md): Import a published function or workflow into a hand-built app, call it from a button with the app SDK, show progress and reuse results, and handle errors. ## Studio: Agents - [Agents that investigate](https://docs.bicycle.ai/docs/studio/agents/overview.md): What an agent function is, how to write its instructions, pin data, give it access to connections, set limits, and what happens when the workspace is busy. ## Studio: Workflows - [Workflows, when to use one](https://docs.bicycle.ai/docs/studio/workflows/overview.md): What a workflow is, when it is the right tool and when something simpler is, and the loop for creating, changing and publishing one. - [Steps](https://docs.bicycle.ai/docs/studio/workflows/steps.md): The workflow step kinds, one example each, query, sql, llm, classify, function, snapshot and send, and the kinds that do not run yet. - [Sends, approvals and the action policy](https://docs.bicycle.ai/docs/studio/workflows/sends-and-approvals.md): Where a send can go, how approval works, the workspace action and mail policies, the once-only ledger, and the caps. - [Schedules and failure routing](https://docs.bicycle.ai/docs/studio/workflows/schedules-and-failures.md): Cron triggers in the workflow's time zone, manual and try runs, pausing, the logical date, and who hears when a run fails. - [What persists between runs](https://docs.bicycle.ai/docs/studio/workflows/persistence.md): Artifacts and their versions, the cache, workflow files (blobs) for trained models, the send ledger, run history, and what does not survive. - [Call a workflow from an app, an agent, MCP or a script](https://docs.bicycle.ai/docs/studio/workflows/call-from-apps.md): Import a published workflow by its pinned reference, start it from a button with progress and Cancel, read its receipts, and the other ways to start one. ## Studio: Runs and traces - [The Runs page and traces](https://docs.bicycle.ai/docs/studio/runs/runs-and-traces.md): Every run of a function, agent, workflow, analysis or schedule in one list, the status words, how to read a trace, and how to reach the same record over REST and MCP. ## Studio: Detect and Explain - [Detect and Explain](https://docs.bicycle.ai/docs/studio/detect-explain/overview.md): What changed in a metric and why, run from an app's panel, from chat or over MCP, how declared analyses work, and why it is not a workflow step yet. ## Studio: Worked examples - [Worked examples](https://docs.bicycle.ai/docs/studio/examples.md): Six complete builds on Bicycle Studio, each taken from the first question to switching it off, for people who build with a coding agent. - [KPI app with a code function](https://docs.bicycle.ai/docs/studio/examples/kpi-app.md): Build a two-tile app (today's orders, failed-order %) whose numbers come from a small Python function, with an "as of" time and a Refresh button. - [Triage button backed by an agent](https://docs.bicycle.ai/docs/studio/examples/triage-agent.md): Add a page listing yesterday's failed orders, each with a Triage button that runs an agent and returns a route and a two-sentence summary, with progress and Cancel. - [Weekly digest email with a screenshot](https://docs.bicycle.ai/docs/studio/examples/digest-workflow.md): A workflow that, every Monday morning, summarises last week's failed orders, screenshots an app, and emails the digest after you approve it; an empty week sends nothing. - [Train a model weekly, predict daily](https://docs.bicycle.ai/docs/studio/examples/ml-train-predict.md): A workflow with two code functions that trains a small model each week, keeps the latest one, predicts each day, and a Predict button in an app that shows the result. - [What changed, and why: Detect and Explain](https://docs.bicycle.ai/docs/studio/examples/detect-explain.md): Ask what moved in failed orders last week and what drove it, report the numbers exactly, then declare the analysis in the app so every viewer sees it. - [Chat that answers from your functions](https://docs.bicycle.ai/docs/studio/examples/chat-with-functions.md): Let the app's Ask AI chat answer "what was the failed % on 20 September?" by calling your KPI function instead of guessing. ## Studio: For coding agents - [For coding agents: the Studio guide](https://docs.bicycle.ai/docs/studio/agent-guide.md): The exact texts Bicycle Studio serves to coding agents through the studio_guide MCP tool and GET /api/studio/v1/guide, synced from the Studio repository. - [Working with the person](https://docs.bicycle.ai/docs/studio/agent-guide/working-with-the-person.md): The person you are building for is usually not an engineer. Hold their hand: they decide, you do the work, and nothing reaches other people until they have… - [Start here: building on Bicycle Studio](https://docs.bicycle.ai/docs/studio/agent-guide/start-here.md): You are a coding agent with two things: the public template (github.com/BicycleAI/data-app-template) and the Bicycle Studio MCP. With them you can build data… - [Connecting to the Studio MCP](https://docs.bicycle.ai/docs/studio/agent-guide/mcp-connection.md): Prod is https://app.bicycle.ai/.... Build and test on preview. - [Data apps: the kit, the template and the manifest](https://docs.bicycle.ai/docs/studio/agent-guide/data-apps.md): A data app is a small web bundle (app.js, app.css, bda.manifest.json) that Studio hosts in a sandboxed frame, bound to one semantic model. It reads data only… - [Functions](https://docs.bicycle.ai/docs/studio/agent-guide/functions.md): A function is a named, versioned, declared unit of work that Studio runs for any caller (an app, a workflow, an agent, MCP, chat, REST) as one invocation with… - [Agents](https://docs.bicycle.ai/docs/studio/agent-guide/agents.md): An agent is a function of kind: agent: it takes several model steps and read-only tool calls to reach a structured answer, under budgets. Use one only where… - [Bicycle workflows: a guide for coding agents](https://docs.bicycle.ai/docs/studio/agent-guide/workflows.md): A workflow is a small graph of steps (nodes) that Studio runs in the background: on a schedule, when a person presses Run, or when an app, agent or MCP client… - [Invocations and traces](https://docs.bicycle.ai/docs/studio/agent-guide/invocations-and-traces.md): Every run of a function (code, llm, classify, agent) or a workflow, from any surface (UI, app, API, MCP, chat, workflow), is one invocation: an inv_... record… - [Detect and Explain](https://docs.bicycle.ai/docs/studio/agent-guide/detect-explain.md): Detect and Explain answers "what changed, and why?" on one metric of an app's semantic model, ad hoc and as the person asking. Detect finds the segments… - [Limits and safety](https://docs.bicycle.ai/docs/studio/agent-guide/limits-and-safety.md): Never try to get around these. Give the link, say what it will change, wait. - [bda.manifest.json fields (AppManifest, extra=forbid)](https://docs.bicycle.ai/docs/studio/agent-guide/generated/app-manifest.md): Limits: MAX_AGENTS 8, MAX_AGENT_DRIVERS 4, MAX_AGENT_INPUT_BYTES 8 * 1024, MAX_ANALYSES 16, MAX_CUSTOM_AGENT_BYTES 64 * 1024, MAX_CUSTOM_INSTRUCTIONS 12_000… - [App SDK: bda.fn](https://docs.bicycle.ai/docs/studio/agent-guide/generated/app-sdk.md): bda.fn: call a published function or workflow from a template-built app. - [function.json (bicycle.function/v1 — function.json)](https://docs.bicycle.ai/docs/studio/agent-guide/generated/function-manifest.md): Required: schema, name, input_schema, output_schema, capabilities. - ["Use it in an app" for a function: what Studio generates](https://docs.bicycle.ai/docs/studio/agent-guide/generated/function-usage-examples.md): Studio's function page generates this text per function. Two examples follow (tenant acme is a placeholder), a code function and an agent. Today it is… - [Workflow node kinds (registry)](https://docs.bicycle.ai/docs/studio/agent-guide/generated/workflow-kinds.md): status: draft with runs = yes (classify) means it runs but its spec may still change. There is no agent kind: call an agent-kind function from a function node.… ## Connectors Available - [Connecting Slack to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/slack.md): Connect Slack workspaces via OAuth for messaging and notifications. - [Connecting Google Cloud Storage to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/gcs.md): Connect GCS buckets using a service account or default credentials. - [Connecting Snowflake to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/snowflake.md): Create a Snowflake service user, grant read-only access, and connect Snowflake to Bicycle. - [Connecting Google BigQuery to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/bigquery.md): Learn how to create a service account, generate a private key, and connect your Google BigQuery project to Bicycle. - [Connecting Databricks to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/databricks.md): Generate Databricks credentials, grant Unity Catalog access, and query Databricks tables from Bicycle using pushdown. - [Connecting Amazon Redshift to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/redshift.md): Create an Amazon Redshift database user, grant read-only access, and query Redshift tables from Bicycle using pushdown. - [Connecting ClickHouse to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/clickhouse.md): Learn how to create a read-only user, retrieve connection details, and connect your ClickHouse database to Bicycle. - [Connecting Dynatrace to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/dynatrace.md): Connect Dynatrace with OAuth client credentials. Select MCP scopes on the Dynatrace OAuth client; Bicycle inherits them automatically — no scopes field to fill in. - [Connecting Atlassian (Rovo MCP) to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/atlassian-rovo.md): Connect Jira, Confluence, JSM, and Bitbucket via Atlassian Rovo MCP using OAuth (recommended) or a scoped API token after enabling API token auth on the Rovo MCP server. - [Connecting Datadog to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/datadog.md): Learn how to create API keys and connect your Datadog organization to Bicycle. - [Connecting PagerDuty to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/pagerduty.md): Learn how to authorize PagerDuty with OAuth or an API key and connect your PagerDuty account to Bicycle. - [Connecting GitHub to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/github.md): Learn how to create a personal access token and connect your GitHub account to Bicycle. - [Connecting Amplitude to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/amplitude.md): Connect Amplitude product analytics, experiments, cohorts, and Session Replay to Bicycle with OAuth via the Amplitude MCP server. - [Connecting Stripe to Bicycle](https://docs.bicycle.ai/docs/connectors-available/setup/stripe.md): Connect Stripe payments, subscriptions, invoices, and financial data to Bicycle using OAuth or an API key via the Stripe MCP server. ## Connecting Bicycle to Claude using MCP - [Connecting Bicycle to Claude using MCP](https://docs.bicycle.ai/docs/claude.md): Set up and use the Bicycle MCP connector in Claude to explore your data, build and publish analytics apps, and schedule recurring email snapshots. ## KPIs - [KPIs overview](https://docs.bicycle.ai/docs/kpis/overview.md): What a KPI is in Bicycle, where KPIs live, and how to choose between generating one from a prompt and defining it by hand. - [Create a KPI with a prompt](https://docs.bicycle.ai/docs/kpis/create-a-kpi-with-a-prompt.md): Describe a measurement in plain language and let Bicycle find the events and fields, build the query, and propose KPIs for you to review and save. - [Create a KPI manually](https://docs.bicycle.ai/docs/kpis/create-a-kpi-manually.md): Define a KPI field by field — event type, measure, filters, expressions, serving mode, and caching — with a live preview that renders as you build. ## Pattern Engine - [Pattern Engine overview](https://docs.bicycle.ai/docs/pattern-engine/overview.md): What a Bicycle pattern is, how it detects anomalies in a KPI, and how detection turns into alerts and actions. - [Create a pattern](https://docs.bicycle.ai/docs/pattern-engine/create-a-pattern.md): Build a pattern's detection rule — scope, baseline, alert thresholds, schedule, and incident grouping. - [Explain & Act](https://docs.bicycle.ai/docs/pattern-engine/explain-and-act.md): Configure how Bicycle investigates a pattern's detections and which driver actions fire in response. - [Alerts and subscriptions](https://docs.bicycle.ai/docs/pattern-engine/alerts-and-subscriptions.md): Review what a pattern detected on the Overview tab, route its alerts to Slack, Teams, or email, and know exactly when each channel sends. - [Manage patterns](https://docs.bicycle.ai/docs/pattern-engine/manage-patterns.md): Find, filter, edit, clone, and retire patterns — and understand when an edit creates a new pattern. ## Drivers - [Drivers overview](https://docs.bicycle.ai/docs/drivers/overview.md): What a driver is in Bicycle, how it turns a detected anomaly into an explanation, and how drivers connect patterns to actions. - [Create a driver](https://docs.bicycle.ai/docs/drivers/create-a-driver.md): Define a named cause — its connectors, the patterns it explains, the hypotheses to test, and the actions to fire — field by field. ## Actions - [Actions overview](https://docs.bicycle.ai/docs/actions/overview.md): What an action is in Bicycle, how it is triggered by a driver, and how to read the action catalog. - [Create an action](https://docs.bicycle.ai/docs/actions/create-an-action.md): Pick a connector and tool, fill in its parameters, declare the variables the agent should substitute, link the drivers that fire it, and test it. ## Dashboards - [Dashboards overview](https://docs.bicycle.ai/docs/dashboards/overview.md): What a Bicycle dashboard is, how its shared time range and comparison work, and what each widget control does. - [Create a dashboard](https://docs.bicycle.ai/docs/dashboards/create-a-dashboard.md): Generate a dashboard from a prompt or build it by hand, then configure each widget's series, breakdowns, filters, and axes. ## Chat - [Chat overview](https://docs.bicycle.ai/docs/chat/overview.md): Ask Bicycle a question in plain language, choose how much reasoning to spend, and read the answer and the log of how it was produced. - [Memory and history](https://docs.bicycle.ai/docs/chat/memory-and-history.md): Give the agent standing facts it should apply to every question, and find a past conversation in this use case. ## Data Stories - [Data Stories overview](https://docs.bicycle.ai/docs/data-stories/overview.md): What a data story is, how a definition differs from a run, and how to read the Runs and All stories views. - [Create a data story](https://docs.bicycle.ai/docs/data-stories/create-a-data-story.md): The five-step wizard — define the analysis, review the workflow, choose the output format, declare parameters, and set up delivery. - [Run and subscribe](https://docs.bicycle.ai/docs/data-stories/run-and-subscribe.md): Execute a data story now with the parameters and mode you want, read its report and deck, and schedule recurring delivery by email. ## SSO / SAML - [SAML Integration](https://docs.bicycle.ai/docs/sso/saml-integration.md): Set up SAML SSO between Bicycle and your identity provider (Okta, Google Workspace, Microsoft Entra ID, and others). - [Microsoft Entra ID SSO](https://docs.bicycle.ai/docs/sso/microsoft-entra.md): Configure Microsoft Entra ID (Azure AD) SAML single sign-on for Bicycle. - [Google Workspace SSO](https://docs.bicycle.ai/docs/sso/google-sso.md): Configure Google Workspace SAML single sign-on for Bicycle. - [Okta SSO](https://docs.bicycle.ai/docs/sso/okta.md): Configure Okta SAML 2.0 single sign-on for Bicycle. ## Optional - [Bicycle Studio architecture](https://docs.bicycle.ai/docs/studio/architecture.md): For engineers joining the platform team and for coding agents. Everything here was checked against the code on origin/platform (Studio API a78212f… - [Systems overview](https://docs.bicycle.ai/docs/studio/architecture/overview.md): Bicycle Studio is the part of the Bicycle platform where a tenant builds and runs data apps, functions, agents and workflows on top of the semantic layer. This… - [Storage map](https://docs.bicycle.ai/docs/studio/architecture/storage.md): Every kind of state Studio and its runtime keep, where it lives, who writes and reads it, how durable it is, and what a restart loses. Verified against Studio… - [Interactions](https://docs.bicycle.ai/docs/studio/architecture/interactions.md): One sequence diagram and a short narrative per flow, as the code on platform runs it (Studio API a78212f, data-app-runtime b21a421, studio-snapshot-worker… - [Security model](https://docs.bicycle.ai/docs/studio/architecture/security.md): Who can call what, as the code on platform enforces it, plus what preview is configured with and what is known to be open. Verified against Studio a78212f… - [Architecture decisions](https://docs.bicycle.ai/docs/studio/architecture/decisions.md): The decisions that shape Bicycle Studio, numbered as the platform team refers to them (#1–#48), each with the one-line reason. Superseded decisions are kept…