Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
219a065
v0.4.12: guardrails, mistral models, privacy policy updates (#1608)
waleedlatif1 Oct 12, 2025
7f82ed3
v0.4.13: bugfixes for dev containers, posthog redirect, helm updates
icecrasher321 Oct 13, 2025
fb0fa1f
v0.4.14: canvas speedup and copilot context window
Sg312 Oct 14, 2025
2bc8c7b
v0.4.15: helm chart updates, telegram tools, youtube tools, file uplo…
waleedlatif1 Oct 15, 2025
04f109c
v0.4.16: executions dashboard, UI fixes, zep tools, slack fixes
icecrasher321 Oct 16, 2025
da091df
v0.4.17: input format + files support for webhooks, docs updates, das…
waleedlatif1 Oct 16, 2025
e4ddeb0
v0.4.18: file upload tools, copilot upgrade, docs changes, model filt…
icecrasher321 Oct 19, 2025
641e353
v0.4.19: landing page fix
icecrasher321 Oct 19, 2025
9751c9f
v0.4.20: internal request, kb url fixes, docs styling
icecrasher321 Oct 21, 2025
1b7437a
v0.4.21: more internal auth changes, supabase vector search tool
icecrasher321 Oct 22, 2025
71ae27b
v0.4.22: fix execution context pass for google sheets
icecrasher321 Oct 22, 2025
9b2490c
v0.4.23: webflow tools + triggers, copilot api key fix (#1723)
waleedlatif1 Oct 23, 2025
7f1ff7f
fix(billing): should allow restoring subscription (#1728)
icecrasher321 Oct 25, 2025
a02016e
v0.4.24: sso for chat deployment, usage indicator for file storage, m…
icecrasher321 Oct 27, 2025
6d1b93e
improvement(start): revert to start block
icecrasher321 Oct 28, 2025
2673aed
make it work with start block
icecrasher321 Oct 28, 2025
ba374ec
fix start block persistence
icecrasher321 Oct 28, 2025
4590b5c
cleanup triggers
icecrasher321 Oct 28, 2025
815b0bc
debounce status checks
icecrasher321 Oct 28, 2025
66ed5ec
update docs
icecrasher321 Oct 29, 2025
8623ae1
improvement(start): revert to start block
icecrasher321 Oct 28, 2025
b1b83b5
make it work with start block
icecrasher321 Oct 28, 2025
37f9e22
fix start block persistence
icecrasher321 Oct 28, 2025
2f0b08f
cleanup triggers
icecrasher321 Oct 28, 2025
1305b1a
debounce status checks
icecrasher321 Oct 28, 2025
7719f3f
update docs
icecrasher321 Oct 29, 2025
4fb0a47
SSE v0.1
Sg312 Oct 29, 2025
8d61313
v0.2
Sg312 Oct 29, 2025
0f56328
v0.3
Sg312 Oct 29, 2025
7e1f887
v0.4
Sg312 Oct 29, 2025
58f559c
v0.5
Sg312 Oct 29, 2025
f38d5f5
v0.6
Sg312 Oct 29, 2025
9a4b9e2
v0.4.25: variables block, sort ordering for kb, careers page, storage…
waleedlatif1 Oct 29, 2025
0f176df
broken checkpoint
Sg312 Oct 29, 2025
00191ee
Executor progress - everything preliminarily tested except while loop…
Sg312 Oct 30, 2025
93c4bce
Executor fixes
Sg312 Oct 30, 2025
43adf93
Fix var typing
Sg312 Oct 30, 2025
a4a99ca
Implement while loop execution
Sg312 Oct 30, 2025
68683ed
Loop and parallel result agg
Sg312 Oct 30, 2025
4970e41
Refactor v1 - loops work
Sg312 Oct 30, 2025
473a733
Fix var resolution in for each loop
Sg312 Oct 30, 2025
5929054
Fix while loop condition and variable resolution
Sg312 Oct 30, 2025
a779508
Fix loop iteration counts
Sg312 Oct 30, 2025
75e6fa5
Fix loop badges
Sg312 Oct 30, 2025
054c472
Clean logs
Sg312 Oct 30, 2025
e9ca315
Fix variable references from start block
Sg312 Oct 30, 2025
02ccc3e
Fix condition block
Sg312 Oct 30, 2025
561a700
Fix conditional convergence
Sg312 Oct 30, 2025
7208ba4
Dont execute orphaned nodse
Sg312 Oct 30, 2025
03467af
Code cleanup 1 and error surfacing
Sg312 Oct 30, 2025
404a802
compile time try catch
Sg312 Oct 30, 2025
b5e387b
Some fixes
Sg312 Oct 30, 2025
75e89a6
Fix error throwing
Sg312 Oct 30, 2025
51d3535
Sentinels v1
Sg312 Oct 30, 2025
f1f7590
Fix multiple start and end nodes in loop
Sg312 Oct 30, 2025
c1b1586
Edge restoration
Sg312 Oct 30, 2025
47291b7
Fix reachable nodes execution
Sg312 Oct 30, 2025
0ce658a
Parallel subflows
Sg312 Oct 30, 2025
2f366e9
Fix loop/parallel sentinel convergence
Sg312 Oct 31, 2025
f77df70
Loops and parallels orchestrator
Sg312 Oct 31, 2025
40ed40b
Split executor
Sg312 Oct 31, 2025
9139eb8
Variable resolution split
Sg312 Oct 31, 2025
9b2fcef
Dag phase
Sg312 Oct 31, 2025
425f964
Refactor
Sg312 Oct 31, 2025
fe0531a
Refactor
Sg312 Oct 31, 2025
d68db02
Refactor 3
Sg312 Oct 31, 2025
dc78f99
Lint + refactor
Sg312 Oct 31, 2025
e91e7fd
Lint + cleanup + refactor
Sg312 Oct 31, 2025
8205994
Readability
Sg312 Oct 31, 2025
18dc4ae
Initial logs
Sg312 Oct 31, 2025
b32f551
Fix trace spans
Sg312 Oct 31, 2025
2003f8f
Console pills for iters
Sg312 Oct 31, 2025
bf751df
Add input/output pills
Sg312 Oct 31, 2025
e5d06e5
Checkpoint
Sg312 Oct 31, 2025
3f2aff5
Merge branch 'main' into improvement/sim-294
icecrasher321 Oct 31, 2025
63e390c
Merge origin/staging into improvement/sim-294
icecrasher321 Oct 31, 2025
c4727e0
remove unused code
icecrasher321 Oct 31, 2025
f38ec54
THIS IS THE COMMIT THAT CAN BREAK A LOT OF THINGS
Sg312 Oct 31, 2025
0df9f3e
ANOTHER BIG REFACTOR
Sg312 Oct 31, 2025
bdaa176
Lint + fix tests
Sg312 Oct 31, 2025
2e856f7
Fix webhook
Sg312 Oct 31, 2025
984c916
Remove comment
Sg312 Oct 31, 2025
126e271
Merge remote-tracking branch 'origin/improvement/sim-294' into improv…
Sg312 Oct 31, 2025
c90d99e
Merge stash
Sg312 Oct 31, 2025
45ac222
Fix triggers?
Sg312 Oct 31, 2025
af83bee
Stuff
Sg312 Oct 31, 2025
a4a6893
Fix error port
Sg312 Oct 31, 2025
955f873
Lint
Sg312 Oct 31, 2025
c215eb5
Consolidate state
Sg312 Oct 31, 2025
12520f8
Clean up some var resolution
Sg312 Nov 1, 2025
718a42f
Remove some var resolution logs
Sg312 Nov 1, 2025
fa1662a
Fix chat
Sg312 Nov 1, 2025
66fcaf0
Fix chat triggers
Sg312 Nov 1, 2025
f7a2a97
Fix chat trigger fully
Sg312 Nov 1, 2025
369ff4e
Snapshot refactor
Sg312 Nov 1, 2025
49fbd90
Fix mcp and custom tools
Sg312 Nov 1, 2025
3ee209d
Lint
Sg312 Nov 1, 2025
7c0cb47
Fix parallel default count and trace span overlay
Sg312 Nov 1, 2025
3940b68
Agent purple
Sg312 Nov 2, 2025
cef9f67
Fix test
Sg312 Nov 2, 2025
c3bc9b1
Merge branch 'staging' into improvement/executor
Sg312 Nov 2, 2025
065fed8
Fix test
Sg312 Nov 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 9 additions & 20 deletions apps/docs/content/docs/en/triggers/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,35 @@ import { Card, Cards } from 'fumadocs-ui/components/card'

## Core Triggers

Pick one trigger per workflow to define how it starts:
Use the Start block for everything originating from the editor, deploy-to-API, or deploy-to-chat experiences. Other triggers remain available for event-driven workflows:

<Cards>
<Card title="API" href="/triggers/api">
HTTP endpoint that maps JSON bodies into workflow inputs
<Card title="Start" href="/triggers/start">
Unified entry point that supports editor runs, API deployments and chat deployments
</Card>
<Card title="Chat" href="/triggers/chat">
Deployed chat interface with streaming responses
</Card>
<Card title="Input Form" href="/triggers/input-form">
Typed manual input used in editor runs and child workflows
</Card>
<Card title="Manual" href="/triggers/manual">
On-demand runs with no additional data
<Card title="Webhook" href="/triggers/webhook">
Receive external webhook payloads
</Card>
<Card title="Schedule" href="/triggers/schedule">
Cron or interval based execution
</Card>
<Card title="Webhook" href="/triggers/webhook">
Receive external webhook payloads
</Card>
</Cards>

## Quick Comparison

| Trigger | Start condition |
|---------|-----------------|
| **API** | Authenticated HTTP POST |
| **Chat** | Chat deployment message |
| **Input Form** | On manual submit in editor or parent workflow |
| **Manual** | Run button in editor |
| **Start** | Editor runs, deploy-to-API requests, or chat messages |
| **Schedule** | Timer managed in schedule modal |
| **Webhook** | On inbound HTTP request |

> The Start block always exposes `input`, `conversationId`, and `files` fields. Add custom fields to the input format for additional structured data.

## Using Triggers

1. Drop the trigger block in the start slot.
1. Drop the Start block in the start slot (or an alternate trigger like Webhook/Schedule).
2. Configure any required schema or auth.
3. Connect the block to the rest of the workflow.

> Deployments power every trigger. Update the workflow, redeploy, and all trigger entry points pick up the new snapshot. Learn more in [Execution → Deployment Snapshots](/execution).

Legacy Starter blocks remain for existing flows but no longer appear in new builds.
2 changes: 1 addition & 1 deletion apps/docs/content/docs/en/triggers/meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"pages": ["index", "api", "chat", "input-form", "manual", "schedule", "starter", "webhook"]
"pages": ["index", "start", "schedule", "webhook", "starter"]
}
90 changes: 90 additions & 0 deletions apps/docs/content/docs/en/triggers/start.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Start
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
import { Image } from '@/components/ui/image'

The Start block is the default trigger for workflows built in Sim. It collects structured inputs and fans out to the rest of your graph for editor tests, API deployments, and chat experiences.

<div className="flex justify-center">
<Image
src="/static/start.png"
alt="Start block with Input Format fields"
width={360}
height={380}
className="my-6"
/>
</div>

<Callout type="info">
The Start block sits in the start slot when you create a workflow. Keep it there when you want the same entry point to serve editor runs, deploy-to-API requests, and chat sessions. Swap it with Webhook or Schedule triggers when you only need event-driven execution.
</Callout>

## Fields exposed by Start

The Start block emits different data depending on the execution surface:

- **Input Format fields** — Every field you add becomes available as `<start.fieldName>`. For example, a `customerId` field shows up as `<start.customerId>` in downstream blocks and templates.
- **Chat-only fields** — When the workflow runs from the chat side panel or a deployed chat experience, Sim also provides `<start.input>` (latest user message), `<start.conversationId>` (active session id), and `<start.files>` (chat attachments).

Keep Input Format fields scoped to the names you expect to reference later—those values are the only structured fields shared across editor, API, and chat runs.

## Configure the Input Format

Use the Input Format sub-block to define the schema that applies across execution modes:

1. Add a field for each value you want to collect.
2. Choose a type (`string`, `number`, `boolean`, `object`, `array`, or `files`). File fields accept uploads from chat and API callers.
3. Provide default values when you want the manual run modal to populate test data automatically. These defaults are ignored for deployed executions.
4. Reorder fields to control how they appear in the editor form.

Reference structured values downstream with expressions such as `<start.customerId>` depending on the block you connect.

## How it behaves per entry point

<Tabs items={['Editor run', 'Deploy to API', 'Deploy to chat']}>
<Tab>
<div className="space-y-3">
<p>
When you click <strong>Run</strong> in the editor, the Start block renders the Input Format as a form. Default values make it easy to retest without retyping data. Submitting the form triggers the workflow immediately and the values become available on <code>&lt;start.fieldName&gt;</code> (for example <code>&lt;start.sampleField&gt;</code>).
</p>
<p>
File fields in the form upload directly into the corresponding `<start.fieldName>`; use those values to feed downstream tools or storage steps.
</p>
</div>
</Tab>
<Tab>
<div className="space-y-3">
<p>
Deploying to API turns the Input Format into a JSON contract for clients. Each field becomes part of the request body, and Sim coerces primitive types on ingestion. File fields expect objects that reference uploaded files; use the execution file upload endpoint before invoking the workflow.
</p>
<p>
API callers can include additional optional properties. They are preserved inside `<start.fieldName>` outputs so you can experiment without redeploying immediately.
</p>
</div>
</Tab>
<Tab>
<div className="space-y-3">
<p>
In chat deployments the Start block binds to the active conversation. The latest message fills <code>&lt;start.input&gt;</code>, the session identifier is available at <code>&lt;start.conversationId&gt;</code>, and user attachments appear on <code>&lt;start.files&gt;</code>, alongside any Input Format fields scoped as <code>&lt;start.fieldName&gt;</code>.
</p>
<p>
If you launch chat with additional structured context (for example from an embed), it merges into the corresponding `<start.fieldName>` outputs, keeping downstream blocks consistent with API and manual runs.
</p>
</div>
</Tab>
</Tabs>

## Referencing Start data downstream

- Connect `<start.fieldName>` directly into agents, tools, or functions that expect structured payloads.
- Use templating syntax like `<start.sampleField>` or `<start.files[0].url>` (chat only) in prompt fields.
- Keep `<start.conversationId>` handy when you need to group outputs, update conversation history, or call back into the chat API.

## Best practices

- Treat the Start block as the single entry point when you want to support both API and chat callers.
- Prefer named Input Format fields over parsing raw JSON in downstream nodes; type coercion happens automatically.
- Add validation or routing immediately after Start if certain fields are required for your workflow to succeed.
67 changes: 0 additions & 67 deletions apps/docs/content/docs/en/triggers/starter.mdx

This file was deleted.

Binary file added apps/docs/public/static/start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed apps/docs/public/static/starter.png
Binary file not shown.
Loading