You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: URLs now mirror the sidebar — sections own their pages
Every page lives at a path matching its meta.json section, done now while none
of these URLs are publicly live (the last free window before merge):
- Workflows owns its accordions: /blocks/* -> /workflows/blocks/*,
/triggers/{start,schedule,webhook,rss,table,sim} -> /workflows/triggers/*,
/deployment/* -> /workflows/deployment/*
- Mothership owns Mailer: /mailer -> /mothership/mailer
- Workspaces & Access folds into Platform, sequenced concept-first with the
reference tail last: /platform/{workspaces,organization,permissions,
credentials,costs}, then platform/self-hosting/*, platform/enterprise/*
(from /workspaces/fundamentals+organization, /permissions/roles-and-
permissions, /credentials, /costs, /self-hosting/*, /enterprise/*)
All internal links swept (0 broken in a full-tree resolver sweep), root
meta.json repointed, and every previously-live URL 308s to its new home —
including retargeted destinations of existing redirects so chains stay
single-hop (verified: /execution/chat reaches /workflows/deployment/chat in
one hop), and the native-trigger rule ordered after the enumerated
integration-trigger redirects so /triggers/gmail still reaches
/integrations/gmail. Production build passes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/agents/choosing.mdx
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,15 +20,15 @@ The running example is a workflow that scores inbound sales leads. It reads a ne
20
20
21
21
A **block** is a single step that runs at a fixed point on the path, with no model deciding whether to. It always runs when the workflow reaches it. Use one when the action must happen every time: an API call, a data transform, a branch.
22
22
23
-
In the lead scorer, a [Google Sheets](/integrations) block always appends the scored lead to a tracking sheet, and a [Function](/blocks/function) block always reshapes the enrichment response into the fields the next step expects. There is no judgment call. The work is guaranteed.
23
+
In the lead scorer, a [Google Sheets](/integrations) block always appends the scored lead to a tracking sheet, and a [Function](/workflows/blocks/function) block always reshapes the enrichment response into the fields the next step expects. There is no judgment call. The work is guaranteed.
Most steps in a workflow are blocks. Reach for the kinds below only when you want a model to decide, or you want to reuse something.
28
28
29
29
## Agent tool
30
30
31
-
An **agent tool** is an action you hand to an [Agent](/blocks/agent) block. The agent reads the task and decides whether and when to call it. The same catalog of [integrations](/integrations) that exist as standalone blocks can also be attached to an agent as tools.
31
+
An **agent tool** is an action you hand to an [Agent](/workflows/blocks/agent) block. The agent reads the task and decides whether and when to call it. The same catalog of [integrations](/integrations) that exist as standalone blocks can also be attached to an agent as tools.
32
32
33
33
In the lead scorer, the Agent has a Search tool and a Send Email tool. For a lead with a thin profile it runs Search to gather context; for a strong lead it calls Send Email. A thin, obvious lead might trigger neither. The agent chooses per run.
34
34
@@ -54,12 +54,12 @@ In the lead scorer, your CRM vendor ships an MCP server. After you connect it on
54
54
55
55
## Workflow-as-tool
56
56
57
-
A **workflow-as-tool** is a whole workflow handed to an agent as one callable tool. You pick the workflow in the [Agent](/blocks/agent) block's tool list; the agent decides when to call it and supplies the inputs, which arrive at the child's [Start](/triggers/start) trigger, and the child's result comes back as the tool's output. Use it when a multi-step procedure should be at the agent's disposal, not on the path.
57
+
A **workflow-as-tool** is a whole workflow handed to an agent as one callable tool. You pick the workflow in the [Agent](/workflows/blocks/agent) block's tool list; the agent decides when to call it and supplies the inputs, which arrive at the child's [Start](/workflows/triggers/start) trigger, and the child's result comes back as the tool's output. Use it when a multi-step procedure should be at the agent's disposal, not on the path.
58
58
59
59
In the lead scorer, the agent has a `Deep Enrich` workflow as a tool — its own five-step procedure. For a thin lead, the agent calls it to fill out the profile before scoring; for a complete lead, it never runs. The agent weighs a whole procedure the same way it weighs a single action.
60
60
61
61
<Callouttype="info">
62
-
A workflow can also run as a fixed step: the [Workflow](/blocks/workflow) block calls a child workflow because the path reached it. Same child workflow, same Start trigger — the difference, as with blocks and agent tools, is who decides. The Enrich step in the diagram is that deterministic case.
62
+
A workflow can also run as a fixed step: the [Workflow](/workflows/blocks/workflow) block calls a child workflow because the path reached it. Same child workflow, same Start trigger — the difference, as with blocks and agent tools, is who decides. The Enrich step in the diagram is that deterministic case.
An **agent** is a [workflow](/workflows) that reasons and acts on its own. It reads an input, decides what to do, and carries it out, calling tools and using your data along the way. You build a custom agent in Sim by composing a workflow whose thinking runs through one or more [Agent blocks](/blocks/agent).
11
+
An **agent** is a [workflow](/workflows) that reasons and acts on its own. It reads an input, decides what to do, and carries it out, calling tools and using your data along the way. You build a custom agent in Sim by composing a workflow whose thinking runs through one or more [Agent blocks](/workflows/blocks/agent).
12
12
13
13
An **Agent block** is the reasoning step inside that workflow: a model reads the values available to it, decides, and returns a result that later blocks read by reference. A simple agent is a single Agent block; a larger one wires several together with other blocks. The Agent block is where the model thinks; the rest of the workflow is what it acts on and through.
14
14
@@ -20,7 +20,7 @@ The example throughout is an agent that scores inbound sales leads.
20
20
21
21
You set up the reasoning step by giving the Agent block a **model** and a **prompt**. The model is the LLM that powers it; you pick one from the available providers, and the default is `claude-sonnet-4-6`. The prompt is a system message that defines who the agent is and how it should behave, plus a user message that carries the input, usually a reference like `<start.input>`.
22
22
23
-
When it runs, the Agent block reasons, calls any tools it needs, and stores its result under its own name. By default that result is free text in `content`, read by a later block as `<agent.content>`, alongside run details like the model used, token counts, tool calls, and cost. Every setting and output field is in the [Agent block reference](/blocks/agent).
23
+
When it runs, the Agent block reasons, calls any tools it needs, and stores its result under its own name. By default that result is free text in `content`, read by a later block as `<agent.content>`, alongside run details like the model used, token counts, tool calls, and cost. Every setting and output field is in the [Agent block reference](/workflows/blocks/agent).
24
24
25
25
## What you give an agent
26
26
@@ -55,7 +55,7 @@ To let an agent reuse information from one run to the next, give it [memory](/in
55
55
56
56
### Return a usable result: structured output
57
57
58
-
To make an agent's result something later blocks can act on, give it a **structured output**: a typed object you define instead of free text. In the lead scorer, the agent returns `{ score, tier, reason }`, and a later [Condition](/blocks/condition) block reads `<agent.tier>` to branch. See [how blocks pass data](/workflows/data-flow) for reading fields.
58
+
To make an agent's result something later blocks can act on, give it a **structured output**: a typed object you define instead of free text. In the lead scorer, the agent returns `{ score, tier, reason }`, and a later [Condition](/workflows/blocks/condition) block reads `<agent.tier>` to branch. See [how blocks pass data](/workflows/data-flow) for reading fields.
59
59
60
60
## Choosing what to use
61
61
@@ -66,7 +66,7 @@ Start with one Agent block and a prompt, then add only what the task needs: a to
66
66
## Next
67
67
68
68
<Cards>
69
-
<Cardtitle="Agent block reference"href="/blocks/agent"description="Every model, setting, and output field of the Agent block." />
69
+
<Cardtitle="Agent block reference"href="/workflows/blocks/agent"description="Every model, setting, and output field of the Agent block." />
70
70
<Cardtitle="Choosing what to use"href="/agents/choosing"description="Pick the right feature for each task." />
71
71
<Cardtitle="Custom tools"href="/agents/custom-tools"description="Define a reusable tool with a schema and code." />
72
72
<Cardtitle="Using MCP tools"href="/agents/mcp"description="Connect an external MCP server to your agents." />
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/files/generating.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Like a build pipeline that produces artifacts and stores them in an artifact rep
17
17
18
18
Most generated files start as the output of an earlier block. Two patterns are common.
19
19
20
-
A block returns **text content** you want to keep. An [Agent](/blocks/agent) writes an analysis or summary; a [Function](/blocks/function) builds a CSV or formats a report. That text is part of the block's output, read by reference as `<agent.content>` or `<function.result>`. To make it a file, you pass that value into a File block set to Write.
20
+
A block returns **text content** you want to keep. An [Agent](/workflows/blocks/agent) writes an analysis or summary; a [Function](/workflows/blocks/function) builds a CSV or formats a report. That text is part of the block's output, read by reference as `<agent.content>` or `<function.result>`. To make it a file, you pass that value into a File block set to Write.
21
21
22
22
A block returns a **file object** directly. ElevenLabs text-to-speech returns an `audioFile`; an image generator returns a generated image; the File block's own Read operation returns parsed files. These are already [UserFile](/files/passing-files) objects (an object with `id`, `name`, `url`, `size`, and `type`), so they appear in the output panel as files with no Write step. You can hand one to a downstream block, or write its content to the Files store to persist it.
23
23
@@ -56,13 +56,13 @@ During a run, the file also appears in the output panel as the File block's outp
56
56
57
57
## Returning a generated file from a deployment
58
58
59
-
When a workflow is deployed as an [API](/deployment/api), a generated file can be part of the response. Reference the file in a [Response](/blocks/response) block, or include its ID in the object you return. The caller uses the `url` or `id` to fetch the file from the workspace store. The file itself stays in the Files store, and the response carries a pointer to it, not the bytes.
59
+
When a workflow is deployed as an [API](/workflows/deployment/api), a generated file can be part of the response. Reference the file in a [Response](/workflows/blocks/response) block, or include its ID in the object you return. The caller uses the `url` or `id` to fetch the file from the workspace store. The file itself stays in the Files store, and the response carries a pointer to it, not the bytes.
60
60
61
61
## Next
62
62
63
63
<Cards>
64
64
<Cardtitle="Files overview"href="/files"description="The artifact layer of your workspace." />
65
65
<Cardtitle="Using files in workflows"href="/files/passing-files"description="Provide files to a workflow and receive files back." />
66
66
<Cardtitle="File block"href="/files"description="Read, Get, Write, and Append operations in full." />
67
-
<Cardtitle="API deployment"href="/deployment/api"description="Expose a workflow as an API and return file references." />
67
+
<Cardtitle="API deployment"href="/workflows/deployment/api"description="Expose a workflow as an API and return file references." />
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/files/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Any [workflow](/workflows) can read a file or produce one. You might upload a co
14
14
15
15
-**[Workflows](/workflows)** read files, like a PDF to summarize, and produce them, like a rendered report. See [using files in workflows](/files/using-in-workflows).
16
16
-**[Knowledge bases](/knowledgebase)** are built from files you upload, turning their contents into searchable memory.
17
-
-**[Deployments](/deployment)** can take a file as input and return one as output.
17
+
-**[Deployments](/workflows/deployment)** can take a file as input and return one as output.
18
18
19
19
Use a file when the document or media itself is what matters. Use a [table](/tables) when you need structured rows and fields, and a [knowledge base](/knowledgebase) when an agent needs to search across many documents.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/files/using-in-workflows.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,15 +62,15 @@ Once a file is read, a processing block reads that output by name. Two blocks do
62
62
63
63
### Agent block
64
64
65
-
An [Agent](/blocks/agent) block has a **Files** input. Reference the read file there, `<file1.files[0]>`, and write the instruction in the prompt: "Summarize this document." The agent receives the file object, not just its text, so a **vision-capable model** (such as Claude or GPT-4o) can analyze images and scanned pages directly. Other models work from the file's text content.
65
+
An [Agent](/workflows/blocks/agent) block has a **Files** input. Reference the read file there, `<file1.files[0]>`, and write the instruction in the prompt: "Summarize this document." The agent receives the file object, not just its text, so a **vision-capable model** (such as Claude or GPT-4o) can analyze images and scanned pages directly. Other models work from the file's text content.
66
66
67
67
In our example the Agent reads `<file1.files[0]>`, summarizes it, and keeps the summary under its own name as `<agent1.content>`.
68
68
69
69
{/* VISUAL: Agent block config. Files input bound to <file1.files[0]>, prompt "Summarize this document" */}
70
70
71
71
### Function block
72
72
73
-
A [Function](/blocks/function) block runs code, and it works with file **text**, not the file object. It doesn't reach into workspace storage on its own. Pass it the extracted text, `<file1.combinedContent>`, and it can parse, filter, or reshape that text and return the result as its own output. Use a Function when the file is structured text (a CSV or JSON dump) and you want exact, deterministic processing instead of a model's interpretation.
73
+
A [Function](/workflows/blocks/function) block runs code, and it works with file **text**, not the file object. It doesn't reach into workspace storage on its own. Pass it the extracted text, `<file1.combinedContent>`, and it can parse, filter, or reshape that text and return the result as its own output. Use a Function when the file is structured text (a CSV or JSON dump) and you want exact, deterministic processing instead of a model's interpretation.
74
74
75
75
<Callouttype="info">
76
76
The two blocks differ in what they take. An **Agent** takes the file object on its Files input, while a **Function** takes the file's text from `combinedContent`. Both store their result under their own name for the next block to read.
@@ -105,6 +105,6 @@ For the file-object schema in full, base64 access, and how files move across API
105
105
<Cardtitle="Passing files"href="/files/passing-files"description="The file object in full: properties, base64, and references across blocks." />
106
106
<Cardtitle="Generating & storing files"href="/files/generating"description="Produce files from a run and save them to your workspace." />
107
107
<Cardtitle="File block reference"href="/files"description="Every operation, input, and output in detail." />
108
-
<Cardtitle="Agent block"href="/blocks/agent"description="Give an agent files to read, summarize, or analyze." />
108
+
<Cardtitle="Agent block"href="/workflows/blocks/agent"description="Give an agent files to read, summarize, or analyze." />
109
109
<Cardtitle="Using tables in workflows"href="/tables/using-in-workflows"description="Read and write structured rows the same way you read and write files." />
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/integrations/hubspot-setup.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ Sim connects your HubSpot CRM to AI workflows. Once connected, your workflows ca
11
11
12
12
-**Read and write CRM records** — create, look up, search, and update contacts, companies, deals, and tickets from any workflow.
13
13
-**React to CRM changes** — start a workflow when a contact, company, deal, or ticket is created or updated in HubSpot.
14
-
-**Combine HubSpot with AI steps** — enrich a new contact with an [Agent block](/blocks/agent), route deals with a [Condition](/blocks/condition), or sync records into [Tables](/tables).
14
+
-**Combine HubSpot with AI steps** — enrich a new contact with an [Agent block](/workflows/blocks/agent), route deals with a [Condition](/workflows/blocks/condition), or sync records into [Tables](/tables).
15
15
16
16
This guide covers installing the integration, connecting a HubSpot account, configuring it in a workflow, and disconnecting or uninstalling it.
17
17
@@ -88,7 +88,7 @@ The full list of operations, with every input and output, is on the [HubSpot int
88
88
89
89
The HubSpot block can also act as a trigger. Toggle **Use as Trigger**, select the connection, and choose which events to watch — contacts, companies, deals, or tickets, created or updated. Sim polls HubSpot for changes and runs the workflow once per changed record, with the record's fields available to downstream blocks.
90
90
91
-
Triggers run against your workflow's active [deployment](/deployment), so deploy the workflow to activate them.
91
+
Triggers run against your workflow's active [deployment](/workflows/deployment), so deploy the workflow to activate them.
0 commit comments