Studio Guide

The local workbench for workflows, integrations, approvals, and receipts. Your configured model and integration routes determine network access.

Loopback-only
Studio binds to 127.0.0.1:8799 and is session-gated. Use the URL printed by the station. The local UI can call configured external services; loopback binding is not an offline guarantee.

Launch

Schedule a workflow

In web Chat, select the input node and change Trigger to Schedule. In Canvas, add Schedule / Cron or configure an existing input. Choose every X minutes, a daily time, or selected weekdays with a timezone. Save the draft to preserve these settings. The clock node is a design only: saving does not start a timer, approve actions, or authorize recurring charges.

For actual interval scheduling on your own Station: open a compatible workflow in Studio Canvas, open its Run settings, choose an interval and review its permissions. Start with planning/staging mode, which waits for human approval. Use Studio’s Schedules view to inspect, pause or remove the schedule and check whether the scheduler is alive. Keep the Station running; a sleeping or offline computer cannot execute on time.

Design is not activation
The web-to-Station scheduling bridge is not connected. Current Station scheduling supports intervals, not daily/weekday timezone schedules or arbitrary cron expressions. Do not substitute “every 1440 minutes” for “daily at 9am.” Studio transfer of scheduled designs is blocked to avoid silently dropping their settings. Keep a Canvas JSON backup, then switch a copy to Manual input before transferring its design and configuring an interval in Studio.

Unattended execution requires a separately approved standing grant and the Station’s execution policy. A schedule cannot override approvals, email permissions, credentials or spending rules. Workflow changes may require fresh approval. Hosted recurring billing, next-run previews, daylight-saving rules and missed-run recovery for web schedules are not enabled in this release.

shell
railcall studio
# Keep this terminal open. Ctrl+C stops this station process.

Compose, inspect, save & run

Builder drafts a workflow using the model route you select. Inspect bindings, inputs, and credentials before execution. In station v1.5.24, Save & run supports linear command-bound builds. Missing inputs or bindings, blocked previews, and unsupported conditional paths stop the runner. External sends still wait for approval. This button performs a manual run; it does not activate persistent chat triggers or recurring schedules.

For conversation-driven tasks and PDF export, see Chat Guide. For routing permissions, see Models & Auto.

Tabs

Navigation labels can vary by release. These surfaces organize the governed loop. Highlighted cards below (Modules and Licenses) are the paid-module install flow you'll hit right after buying a connector.

Studio · Builder

Builder

Prompt-to-plan surface. Type an intent, watch the interpreter draft a workflow CSV and pipe it through the airlock — nothing sends until you approve.

When to use: Starting a new automation. Best for turning "send X to Y when Z" into a signed plan.

Studio · Canvas

Canvas

Node-and-edge editor for the same workflow spec Builder produces. Every node is a governed step; branches make the airlock's decision points visible.

When to use: Editing an existing plan by hand — reordering, splitting, or wiring conditional branches.

Studio · Workflows

Workflows

Library of every plan on this machine — installed from marketplace, drafted locally, or restored from backup. Rerun, diff, or archive from here.

When to use: Finding, cloning, or scheduling something you built earlier.

Studio · Marketplace

Marketplace

In-Studio view of railcall.ai/marketplace with one-click install into the current workspace. Signature and provenance visible up front.

When to use: You want a template someone else already shipped, without leaving Studio.

Studio · Modules

Modules

Signed handler bundles under ~/.railcall/station/modules/<slug>/. Loader verifies Ed25519 signatures before any handler runs.

When to use: Enabling a paid connector (Salesforce, HubSpot) or your own signed handler.

Studio · Licenses

Licenses

Installed paid-module entitlements — per-install, offline-verified, seven-day grace past expiry. Activate, verify, or release from one place.

When to use: You just bought a paid module or need to move it to another machine.

Studio · Integrations

Integrations

Long-lived connections to real SaaS systems — OAuth tokens for Salesforce, bearer secrets for HubSpot, webhook targets for Discord/Slack. All stored in the local vault.

When to use: First-time hookup of a provider before a workflow can use it.

Studio · Monitor

Monitor

Live view of the loopback daemon — active plans, pending approvals, current spend, per-provider status.

When to use: You want to know what's in flight right now.

Studio · Webhooks

Webhooks

Inbound webhook receivers. Trigger workflows from Stripe, GitHub, Slack, or anything else that can POST — with signature verification.

When to use: You need something external to kick off a workflow.

Studio · Sends

Sends

Manual outbound channel — email, Slack, Discord, HTTP. Preview the payload, hit send, get a signed receipt.

When to use: One-off, human-authored actions that don't warrant a full workflow.

Studio · Runs

Runs

Every execution as a row: who invoked it (Studio / MCP / CLI), who approved it, the result, and the Ed25519 signer — with per-row independent verify, search, and pagination. Failed and rolled-back runs show honestly. Each receipt deep-links to the offline verifier at railcall.ai/verify.

When to use: Audit, evidence, compliance review, or debugging what actually happened — this is the governance surface you show a CTO.

Studio · Audit

Audit

Zero-retention structural audits of workflow CSVs. Pass a file, get a signed audit receipt — no execution, no send.

When to use: Reviewing a plan before you ever intend to run it.

Studio · Router

Router

Local policy router — which model, which provider, which fallback for each class of request. All decisions logged with the receipt.

When to use: Tuning the local Ollama / gateway model choice or provider routing.

Studio · Settings

Settings

Workspace paths, signing key, safety flags, and Live Execution policy — which surfaces (Studio / MCP / apply) may fire live workflows, per-workflow whitelists, and MCP payload exposure. Every policy change is signed on save; no restart needed.

When to use: Environment moves, key rotation, granting or revoking live execution, or a fresh install.

The Modules → Licenses flow

Buying a paid module on the marketplace is one purchase; getting it running is two Studio tabs.

1. Modules tab — install the bundle

Marketplace install drops the signed bundle under ~/.railcall/station/modules/<slug>/ as three files: module.json, handlers/handler.py, and module.sig. The loader checks the Ed25519 signature before ever importing the handler; a bad signature refuses to load.

2. Licenses tab — activate

If module.json has license_required: true, the module stays gated until a valid entitlement is present. Activate from Studio or the CLI.

shell
railcall license activate /path/to/license.json
railcall license list         # confirm days remaining
railcall license verify       # offline re-check

Licenses are per-install, bound to the machine's install pubkey, and verified offline against the pinned issuer key. Seven-day grace past expiry so a flaky network doesn't break production.

Free vs. paid modules
Free modules (e.g. sami666/hubspot) skip the Licenses step entirely — install and go. Paid modules (e.g. sami666/salesforce) need the Licenses step to unlock.