docs: builder-first IA reorganization of the English docs#4896
docs: builder-first IA reorganization of the English docs#4896ouiliame wants to merge 65 commits into
Conversation
Restructure the English docs from internal product categories into a topic-based information architecture, and rewrite the conceptual pages to install a mental model first rather than enumerate features. Structure & navigation - Reorder the sidebar to follow how someone builds: Get Started -> Workflows -> Tables -> Files -> Knowledge Bases -> Logs -> Building agents -> Mothership -> Workspaces -> Platform -> Reference. - Demote the generated blocks/tools/triggers catalogs to a Reference section at the bottom. - Break up the monolithic execution/ folder into deployment/ and logs-debugging/; collapse connections/* and variables/* into single pages under workflows/. - Rename capabilities/ to building-agents/; relabel the integration catalog as "Integrations". Remove deprecated copilot and form deployment. Redirects added in next.config.ts for every moved URL. Conceptual rewrites - Workflows core (index, how-it-runs, data-flow, connections, variables): one mental model, one running example, terser prose. - New building-agents overview distinguishes an agent (a workflow you build) from an Agent block (one reasoning step), plus a "choosing what to use" guide. - Concept-trim passes on Knowledge Base, Tables, Blocks, Triggers overviews; new task pages for KB, Tables, and Files. - New code-verified Alerts page. Infrastructure - pageType frontmatter (concept/guide/reference) + badge render. - WorkflowPreview / OutputBundle components to embed real, app-styled workflow diagrams (adds framer-motion + reactflow to apps/docs). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@ouiliame is attempting to deploy a commit to the Sim Team on Vercel. A member of the Team first needs to authorize it. |
PR SummaryLow Risk Overview Live workflow visuals replace static block hero screenshots. A new Docs chrome changes: MDX pages show a Reviewed by Cursor Bugbot for commit 9ecfebf. Bugbot is set up for automated code reviews on this repo. Configure here. |
| highlightBlock={highlightBlock} | ||
| highlightEdge={highlightEdge} | ||
| /> | ||
| </ReactFlowProvider> |
There was a problem hiding this comment.
Duplicate React provider keys
Medium Severity
WorkflowPreview keys ReactFlowProvider only from workflow.id, highlightBlock, and highlightEdge. The workflows overview renders two previews with the same CLASSIFY_WORKFLOW and highlightBlock="agent", so React sees duplicate sibling keys and can reuse the wrong internal flow state between diagrams.
Reviewed by Cursor Bugbot for commit 18cee3d. Configure here.
Greptile SummaryThis PR reorganizes the English docs from a product-category IA into a builder-first topic structure, rewrites key conceptual pages, and introduces two new infrastructure pieces: a
Confidence Score: 5/5Docs-only change with no runtime logic outside of two new React components and redirect rules; all redirects verified against deleted files, all sidebar page references verified to exist on disk. The WorkflowPreview/OutputBundle components are client-only and isolated to the docs app. The ReactFlowProvider key correctly includes workflow.id plus the two highlight props, so state resets whenever the diagram content changes. The pageType schema extension is backward-compatible (field is optional). Redirect coverage is complete for every removed path. No application code outside apps/docs is touched. No files require special attention. The two-hop redirect chains in next.config.ts (capabilities/agents and execution/form) were already flagged in a previous review thread. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph WorkflowPreview["WorkflowPreview (client)"]
WP["WorkflowPreview\n(wrapper, key = workflow.id + highlights)"]
RFP["ReactFlowProvider\n(remounts on key change)"]
PF["PreviewFlow\n(useState nodes/edges)"]
PBS["PreviewBlockNode\n(framer-motion m.div)"]
PE["PreviewEdge\n(m.path or path)"]
end
subgraph Data["Static data (examples.ts)"]
CW["CLASSIFY_WORKFLOW"]
CRW["CLASSIFY_REPLY_WORKFLOW"]
SKW["SUPPORT_KB_WORKFLOW"]
TEW["TABLE_ENRICH_WORKFLOW"]
end
subgraph Transform["workflow-data.ts"]
TRF["toReactFlowElements()"]
end
subgraph Badge["pageType badge"]
SC["source.config.ts\n(Zod schema extension)"]
LS["lib/source.ts\n(DocsPageType type)"]
PTB["PageTypeBadge component"]
end
MDX["MDX page\n(server component)"] -->|imports| WP
MDX -->|frontmatter pageType| SC
SC --> LS
LS --> PTB
PTB --> PageTsx["page.tsx"]
Data --> WP
WP --> RFP
RFP --> PF
PF -->|useMemo| TRF
TRF -->|nodes| PBS
TRF -->|edges| PE
Reviews (2): Last reviewed commit: "docs: reorganize into topic/ontology IA ..." | Re-trigger Greptile |
| { source: '/capabilities/agents', destination: '/building-agents/agents', permanent: true }, | ||
| { | ||
| source: '/capabilities/choosing', | ||
| destination: '/building-agents/choosing', | ||
| permanent: true, | ||
| }, | ||
| // execution/* was broken up; redirect old URLs to their new homes | ||
| { source: '/execution', destination: '/workflows', permanent: true }, | ||
| { source: '/execution/index', destination: '/workflows', permanent: true }, | ||
| { source: '/execution/basics', destination: '/workflows/how-it-runs', permanent: true }, | ||
| { source: '/execution/files', destination: '/files/passing-files', permanent: true }, | ||
| { source: '/execution/logging', destination: '/logs-debugging/logging', permanent: true }, | ||
| { source: '/execution/costs', destination: '/costs', permanent: true }, | ||
| { source: '/execution/api', destination: '/api-reference/getting-started', permanent: true }, | ||
| { source: '/execution/api-deployment', destination: '/deployment/api', permanent: true }, | ||
| { source: '/execution/chat', destination: '/deployment/chat', permanent: true }, | ||
| { source: '/execution/form', destination: '/deployment/form', permanent: true }, |
There was a problem hiding this comment.
Two-hop redirect chains on deprecated URLs
Two redirect chains are introduced here. /capabilities/agents first hits the /building-agents/agents rule (line 23) before bouncing again to /building-agents, and /execution/form first hits /deployment/form (line 25) before going to /deployment. With permanent: true (308), browsers eventually cache both hops, but the first visit still pays two round trips and search-engine crawlers must follow two hops to update index URLs. Both chains can be collapsed to a single hop by pointing the old source directly at the final destination.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Replace the static screenshot hero on each block reference page with a <BlockPreview> that renders the block exactly as the builder canvas shows it — header icon, sub-block rows, and branch/error handles — from a hand-authored display spec. Static and non-interactive (no ReactFlow), so it can't be panned or dragged, and self-updating to edit. - block-display-specs.ts: one editable spec per block (rows, branches, handles) - block-preview.tsx: static scaled card renderer with decorative handles - block-icons.tsx: brand glyphs for the core block types; icons.tsx adds WaitIcon - 14 block + 3 trigger pages swapped from <Image> to <BlockPreview> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Audited the docs against the product changelog (GitHub releases / staging git history) for content that misleads readers — features that moved, were renamed, or removed — rather than cosmetic drift. Fixes: - Skills: no longer a Settings tab. It was promoted to its own workspace page (simstudioai#4354), so "Settings → Skills under the Tools section" sent readers to a tab that no longer exists. (skills/index.mdx) - Env vars: the workspace tab is "Secrets", not "Environment Variables" (credentials→secrets rename, simstudioai#4364). (quick-reference/index.mdx) - Mothership FAQ pointed to "Settings → Credentials" for integration connections; integrations moved to their own page and there is no Credentials tab. (mothership/tasks.mdx) - Vision block was retired (simstudioai#4684); a tip still named it. Reworded to "an Agent using a vision-capable model". (files/passing-files.mdx) - Getting-started FAQ told new users to "use the Copilot feature" to build in natural language — that surface is Mothership. (getting-started) - Removed the dead "Mod+Y → Go to templates" shortcut; the templates gallery was removed (simstudioai#4354). (keyboard-shortcuts) Note: MCP "tools" (Settings → Tools, for consuming) and MCP "servers" (Settings → System, for exposing) are distinct surfaces — both doc references are correct and were intentionally left as-is. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The enterprise overview linked to /docs/enterprise/* (access-control, sso, whitelabeling, audit-logs, data-retention, data-drains), but the docs site is served at root — those 6 links 404'd. Now root-relative /enterprise/*. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The /workflows diagram blocks are hand-authored (separate from the spec-driven BlockPreview heroes) and had drifted from the real UI: - Agent color purple #6f3dfa -> green #33C482 (the var(--brand) rebrand) - Model gpt-4o -> claude-sonnet-4-6 (current default) - "Prompt" row -> "Messages" (the actual agent sub-block) - Start color #34B5FF -> #2FB3FF (real starter bgColor) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The header (input/output) handles are positioned relative to the card and used a -16px offset, so they floated 8px past the edge. Row/error handles are -16px relative to a row that's already inset 8px by content padding, so they sit correctly. Header handles are now -8px, so every handle sticks out the same 8px and hugs the block edge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The page documented the old UI (System/User Prompt, no Files or Skills, Memory taught as a separate block — contradicting its own FAQ). Rewritten to the real sub-blocks (Messages, Model, Files, Tools, Skills, Memory, Response Format) in the builder voice of the workflows exemplars: oriented opening, agent vs Agent-block callout, outputs table, a live WorkflowPreview example, FAQ kept and corrected (tool control "Force", not "Required"). pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tightened to the builder voice and the real config (URL, Method, Query Params, Headers, Body + Advanced timeout/retries/backoff). Dropped the off-topic "Dynamic URL Construction" / "Response Validation" sections (those are Function-block techniques, not API config). Outputs table, FAQ kept. The example is now a live WorkflowPreview (new API_FETCH_WORKFLOW in examples.ts, exported via the barrel). pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tightened to the builder voice: oriented opening (branches on boolean expressions, no model call, vs Router), the real branch model (if / else if / else, checked top to bottom), connection-tag expression examples, an error-path callout, outputs table, and a live branching WorkflowPreview example (CONDITION_ROUTE_WORKFLOW). FAQ kept. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dition Recalibration: reference pages keep genuine substance (Best Practices, every distinct example), cutting only redundancy and verbose register. Restores the Best Practices section and turns the three use cases into three rendered WorkflowPreview examples (route by priority, moderate content, branch onboarding). Adds CONDITION_MODERATE_WORKFLOW and CONDITION_ONBOARD_WORKFLOW. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fixed the verbose register and dropped the duplicated outputs section + the stale Python screenshot/TODO, while keeping the real substance: JS vs Python (local vs E2B sandbox), the large-inputs sim.files/sim.values helpers, the worked loyalty-score example, and Best Practices. The use cases are now two rendered WorkflowPreview examples (reshape an API response, validate input). Adds FUNCTION_RESHAPE_WORKFLOW and FUNCTION_VALIDATE_WORKFLOW. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register, generalized the drifting model list, and folded the Router-vs-Condition guidance into a callout. Kept the substance (routes as output ports, NO_MATCH error path, all seven outputs, Best Practices, FAQ). The three same-shape use cases collapse to one rendered triage WorkflowPreview (ROUTER_TRIAGE_WORKFLOW), which the prose notes stands for the pattern. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
I wrongly folded two distinct Router scenarios into a note. Restored all three as their own rendered WorkflowPreview examples: triage a support ticket, classify feedback (to child workflows), qualify a lead (sales vs self-serve). Adds ROUTER_CLASSIFY_WORKFLOW and ROUTER_LEAD_WORKFLOW. (Also exports RESPONSE_API_WORKFLOW for the next page.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register and broadened "Variable References" to connection tags (any output, not just workflow variables). Kept the substance: exit-point semantics, Builder/Editor mode, status codes, headers, the parallel-branch warning, Best Practices, FAQ. All three use cases are now rendered WorkflowPreview examples (API endpoint, webhook ack, status-per-branch). Adds RESPONSE_API/WEBHOOK/ERROR_WORKFLOW. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register, corrected the outputs (each assignment is also exposed as <variables.name>, not "no outputs"), and kept the substance: assignments reference earlier outputs and current values, global <variable.name> access, Best Practices, FAQ. Two use cases now render as WorkflowPreview examples (count retries, hold config). Adds VARIABLES_RETRY_WORKFLOW and VARIABLES_CONFIG_WORKFLOW. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Corrected a real staleness: the block now has an Async mode that suspends the run for minutes/hours/days (not a hard 10-minute cap), plus a resumeAt output. Documents Wait Amount / Unit / Async, the sync-vs-async distinction, all three outputs, Best Practices, and updated FAQ. Two rendered WorkflowPreview examples (space out API calls, delayed follow-up). Adds WAIT_RATELIMIT_WORKFLOW and WAIT_FOLLOWUP_WORKFLOW. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 9ecfebf. Configure here.
| ) | ||
|
|
||
| const [nodes, setNodes] = useState<Node[]>(initialNodes) | ||
| const [edges, setEdges] = useState<Edge[]>(initialEdges) |
There was a problem hiding this comment.
Preview flow ignores prop updates
Medium Severity
PreviewFlow derives React Flow nodes and edges in useMemo, but stores them in useState only on first mount. When animate or other memo inputs change while workflow.id and highlight props stay the same, the provider key does not remount, so the canvas keeps stale nodes and edges instead of updated data or animation flags.
Reviewed by Cursor Bugbot for commit 9ecfebf. Configure here.
…t tabs) The page was already accurate to the block (Select/List operations, the outputs tabs, the wiring steps). Light touch only: added description + pageType, made the header consistent, and folded the two identical Gmail/Slack "how to wire" tabs into one line. Examples stay as labeled flows + the List/ForEach screenshot, since they use integration blocks and a Loop the WorkflowPreview can't render. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Light pass: added pageType + description, tightened the intro, and presented the output fields as an <rss.*> outputs table. Kept the polling config, use cases, the published-after-save callout, and the FAQ (poll cadence, dedup, 25-item cap, auto-disable, Atom support). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaced the BlockInfoCard/'provides 1 trigger' auto-gen format with a real builder-voice page: a spec-driven BlockPreview hero (added a 'table' spec), plain-language Configuration (table, event type, watch columns, include headers), and a full <table.*> outputs table. pageType: reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… catalog Reframed "generic" as native (no connected account) and promoted RSS and Table into the native set alongside Start/Schedule/Webhook — cards, comparison table, and integration paragraph updated to match. In the sidebar, grouped the five native triggers under a "Native triggers" header and divided the ~44 service triggers under "Integration triggers" (nav-only — no files moved, URLs stable; the move to integrations/ is a later, separate change). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Restructured the Documentation sidebar (meta-only — no files moved, URLs stable): after Deployment, the 16 core block pages now live under a "Core Blocks" section and the 5 native trigger pages under "Core Triggers", instead of buried in the bottom Reference catalog. Removed the now-redundant blocks tree from Reference, and retitled the Reference triggers tree "Integration triggers" so it holds just the service catalog (the native ones are promoted up top). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… accordions Restructured the sidebar and overview hub (meta + content only, no integration files moved): - Folded the /blocks and /triggers overview pages into /workflows: the overview now carries the core-block catalog (do work / direct flow / shape run), the Integrations-and-triggers families framing, the native + integration trigger framing, the trigger comparison, manual-run priority, and email-polling groups. Deleted blocks/index.mdx and triggers/index.mdx as redundant. - Promoted the 16 core blocks into a "Core Blocks" folder accordion and the native triggers into a "Core Triggers" accordion, both under Workflows after Deployment. Integration triggers stay inside Core Triggers under a labeled divider, temporary until they move to integrations/<service> (tabs) later. - Repointed every /blocks and /triggers index link to the /workflows#blocks and /workflows#triggers sections. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Core Triggers is now the 5 native triggers only. Moved the 43 service triggers out of triggers/ into a new integration-triggers/ folder, surfaced as an "Integration triggers" accordion under Reference (an accordion must be its own folder in Fumadocs). In Workflows, Core Triggers now sits before Core Blocks. URLs: /triggers/<service> -> /integration-triggers/<service> (native /triggers/* unchanged); the integrations/<service> tabbed-page migration remains the later step. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
It had drifted from a concept intro into a catalog. Kept the spine (the four parts with their previews, how-it-runs, workflows-in-context) and compressed the merged-in material: the full 16-block enumeration becomes a three-kind taxonomy with examples, the trigger section a short native/integration framing. Cut the anxious in-between — manual-run trigger priority, the niche email-polling-groups feature (belongs on the Gmail/Outlook trigger pages), the redundant block-def line, the Start-outputs callout half, the connections video, and the catalog-y FAQ items. Dropped the unused Video import. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Moved the two bits cut from the workflows overview to durable, generator-safe homes: email-polling groups -> the Integrations (connecting accounts) page; manual-run trigger priority -> the Start trigger page. Also added 'table' to the generator's HANDWRITTEN_TRIGGER_DOCS / SKIP_TRIGGER_PROVIDERS so the hand-written Table trigger page is no longer overwritten by generate-docs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…adged) Saves the approved plan: everything is a block, triggers are blocks with a Trigger badge, /integrations/<service> is the per-service block index, no 'Tools' terminology, nuke /tools, no redirects (fresh start). Resolves A-D. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… section) Rewrites the generator to output one page per service under integrations/ instead of split tools/ + triggers/. Block pass writes the service's actions; trigger pass appends a '## Triggers' section (badged) to the same page, or writes a standalone page for trigger-only services. Meta is written after both passes; hand-written integration pages are preserved; docsUrl repointed to /integrations. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Encodes the ontology "everything is a block; some blocks are triggers." The generator now emits one page per service under integrations/ — the service's Actions plus, when it has one, a Triggers section on the same page — replacing the split tools/<service> + triggers/<service>. No "Tools" terminology. - generate-docs.ts: output to integrations/, merge trigger sections into each service page (standalone for trigger-only services), Actions heading, table block now generated, docsUrl -> /integrations, hand-written pages preserved. - Nuked tools/ (213) and the interim integration-triggers/ (43); moved the custom-tools guide to building-agents/; knowledge/memory/file/table links and meta repointed to /integrations. - Sidebar: integrations catalog now under Reference (was tools); removed the Workspaces integrations entry and the integration-triggers tree. - block-icons: wait uses lucide Clock (the generated icons.tsx no longer carries a hand-added WaitIcon). Landing integrations data regenerated. No redirects (fresh start). Native Core Blocks/Core Triggers unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ion pages
The tools->integrations relocation generated fresh pages, so the generator never
saw the old tools/<service>.mdx to preserve its {/* MANUAL-CONTENT */} sections —
198 curated intros (AgentMail, etc.) were dropped. Reseeded each integrations
page from the pre-move tools page in git, re-ran the generator (which now merges
the manual intro into the new Actions/Triggers format), and repointed /tools/
links inside the recovered prose.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Brings scripts/README.md current: integration pages are derived from the apps/sim block/tool/trigger registry (canonical-sources map), the golden rule not to hand-edit generated pages, the MANUAL-CONTENT escape hatch, which pages are hand-written/skipped, and the icons.tsx-overwrite gotcha. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # apps/docs/content/docs/en/blocks/knowledge.mdx # apps/docs/content/docs/en/blocks/table.mdx # apps/docs/content/docs/en/building-agents/custom-tools.mdx # apps/docs/content/docs/en/integrations/a2a.mdx # apps/docs/content/docs/en/integrations/file.mdx # apps/docs/content/docs/en/integrations/image_generator.mdx # apps/docs/content/docs/en/integrations/knowledge.mdx # apps/docs/content/docs/en/integrations/memory.mdx # apps/docs/content/docs/en/integrations/millionverifier.mdx # apps/docs/content/docs/en/integrations/mysql.mdx # apps/docs/content/docs/en/integrations/neverbounce.mdx # apps/docs/content/docs/en/integrations/postgresql.mdx # apps/docs/content/docs/en/integrations/search.mdx # apps/docs/content/docs/en/integrations/sendblue.mdx # apps/docs/content/docs/en/integrations/sftp.mdx # apps/docs/content/docs/en/integrations/smtp.mdx # apps/docs/content/docs/en/integrations/ssh.mdx # apps/docs/content/docs/en/integrations/stt.mdx # apps/docs/content/docs/en/integrations/table.mdx # apps/docs/content/docs/en/integrations/translate.mdx # apps/docs/content/docs/en/integrations/tts.mdx # apps/docs/content/docs/en/integrations/video_generator.mdx # apps/docs/content/docs/en/integrations/zerobounce.mdx # apps/docs/content/docs/en/tools/emailbison.mdx # apps/docs/content/docs/en/tools/knowledge.mdx # apps/docs/content/docs/en/tools/meta.json # apps/docs/content/docs/en/tools/table.mdx # apps/docs/content/docs/en/triggers/airtable.mdx # apps/docs/content/docs/en/triggers/calcom.mdx # apps/docs/content/docs/en/triggers/confluence.mdx # apps/docs/content/docs/en/triggers/gmail.mdx # apps/docs/content/docs/en/triggers/google-calendar.mdx # apps/docs/content/docs/en/triggers/google-drive.mdx # apps/docs/content/docs/en/triggers/google-sheets.mdx # apps/docs/content/docs/en/triggers/google_forms.mdx # apps/docs/content/docs/en/triggers/intercom.mdx # apps/docs/content/docs/en/triggers/jira.mdx # apps/docs/content/docs/en/triggers/microsoft-teams.mdx # apps/docs/content/docs/en/triggers/outlook.mdx # apps/docs/content/docs/en/triggers/salesforce.mdx # apps/docs/content/docs/en/triggers/telegram.mdx # apps/docs/content/docs/en/triggers/webflow.mdx
After merging staging, regenerated so the integration pages reflect current source: correct block colors/configs (e.g. Gmail #FFFFFF), the new integrations (sendblue, millionverifier, neverbounce, zerobounce), and staging's icon set. Pages for integrations staging hid are removed; manual-content intros preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ation pages Staging's cleanupStaleToolDocs removes any integrations/*.mdx that isn't a visible tools block — it only guarded `index`, so it deleted the hand-written google/atlassian service-account pages. Now guards all HANDWRITTEN_INTEGRATION_DOCS. Restored the two pages, and repointed /integrations/file links to /files (staging hides the file block, so it has no integration page). Note: staging recategorized a2a/mysql/postgresql tools -> 'blocks' (and hid file), so they correctly drop out of the integration catalog and are currently undocumented — an IA decision to revisit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… content
Comprehensive-review findings, all generator-consistency bugs:
- cleanup used staging's isIntegrationBlock while the writer kept the legacy
filter, so integrations/{knowledge,memory,table}.mdx were deleted then
regenerated without their manual intros every run. Both now honor a shared
NATIVE_RESOURCE_BLOCK_TYPES set; intros reseeded.
- Trigger-only services (imap, circleback; category 'triggers') were likewise
deleted each run; the canonical set now includes visible trigger-category
blocks, the standalone writer preserves manual content, and their intros are
reseeded.
- Mapped jsm -> jira_service_management, so JSM triggers merge into the JSM
integration page instead of an orphan jsm.mdx (removed).
- Repointed lingering bare /tools links to /integrations; added missing
pageType to integrations/index and building-agents/custom-tools.
Double-regen is now churn-free (idempotent) with all manual content intact.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ontent The merge resolution deleted staging's relocated blocks/table.mdx, which carried substantial enrichment our integrations/table.mdx (reseeded from the older tools/ version) lacked: Creating Tables (column types/constraints), Filter Operators, Combining Filters, Sort Specification, Built-in Columns, Limits, and Notes. Recomposed integrations/table.mdx with that content — Creating Tables inside the intro manual section, the reference tail in a notes manual section. Generator fix uncovered en route: a manual section whose insertion anchor is missing in the generated markdown (e.g. notes with no "## Notes" heading) was silently dropped on regen. Unplaceable sections now append at the end instead — manual content is never lost. Verified idempotent across double regeneration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrote in the plain register of the workflows overview: 'draws the boundary for access' / 'Nothing crosses the boundary' / 'follow the same edge' become direct statements (only members can access it; a workflow in one workspace cannot read a table in another). '## The boundary' is now '## Access and isolation'. All substance kept: every resource type, permission levels, personal/organization/grandfathered kinds, deployments callout, VISUAL markers. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rview The editorial trim renamed '## Blocks' -> '## Kinds of blocks' and '## Triggers' -> '## How a workflow starts', silently breaking the ten /workflows#blocks and /workflows#triggers anchor links pointed there when the old index pages were folded in. Pinned the original ids with explicit heading anchors. Found by the comparative prose review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
From the comparative prose review, restored in guidance register (no spec dumps): temperature tiers on Agent (low/middle/high with ranges), loop/parallel iteration references in the variables syntax-at-a-glance table, and a short "Test it" section on the Webhook trigger (curl + check the run in Logs). The fourth flagged loss (tag-resolver mechanics on connections) turned out to be already covered — name normalization, case-sensitive paths, missing-output behavior, and value formatting are all on the page; only the internal resolver precedence chain was dropped, deliberately. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaced the flat opening with a denser, factual one (no metaphor): what the block does, and its centrality stated as fact — 'Most workflows are built around one or more Agent blocks.' The agent-vs-Agent-block disambiguation moves from an info callout into a second paragraph on the block's role in building agents. Dropped the now-unused Callout import. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…isting Addresses HubSpot Marketplace review item A1: a public, HubSpot-specific setup guide following their template — what the app does, install + connect through the current flow (sidebar Integrations page -> HubSpot -> Add to Sim -> connect dialog -> HubSpot OAuth), with real screenshots of each step and a placeholder for the scope-approval shot; configure in a workflow (one-click skills/templates + the HubSpot block + trigger mode), use, disconnect (with data consequences), uninstall from the HubSpot side, troubleshooting. Capability wording is by CRM object rather than scope enumeration, so it stays accurate after the A2 scope trim. Lives at /integrations/hubspot-setup, guarded as hand-written, cross-linked from the HubSpot reference page's intro. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Integrations moved out of Settings to a top-level sidebar page. Rewrote the guide to the current journey: the Integrations page (Connected/Featured/search), service pages with one-click skills and templates, + Add to Sim -> connect dialog (display name + permissions) -> provider OAuth. Replaced the four Settings-era screenshots with current captures (connect dialog illustrated via HubSpot); block-side screenshots (account selector, manual credential ID) kept; one VISUAL marker for the connection detail view pending a fresh capture. Members/roles, credential-ID, reconnect/disconnect, email polling, and FAQ substance unchanged apart from navigation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The agent-building journey follows straight from workflows (blocks, triggers, deployment) rather than after the tour of every resource type. Tables/Files/ Knowledge Bases/Logs now follow it. Meta-only reorder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>


What this does
Rebuilds the English docs around the product's real ontology — everything is a block; some blocks are triggers; an integration is one block with Actions and optionally a Trigger — with a builder-first rewrite of the core reference, live spec-driven visuals, and a reworked docs generator that emits one page per integration.
1. IA / ontology
/blocksand/triggersindex pages are folded into the Workflows overview (kept to a real introduction — concepts, block taxonomy, trigger framing — after an editorial trim)./tools/*+/triggers/<service>are unified into/integrations/<service>: one generated page per service with the curated intro,## Actions, and a## Triggerssection when the service has one. No "Tools" terminology. ~205 pages. (Fresh start — no redirects, per maintainer decision.)2. Hand-rewritten reference (builder voice)
pageTypefrontmatter, FAQs kept, Best Practices kept, every distinct example rendered as a liveWorkflowPreview(~36 hand-authored example workflows).3. Live visuals (no screenshots to maintain for block heroes)
BlockPreview— spec-driven hero rendering each block exactly as the canvas shows it.WorkflowPreview— app-styled ReactFlow diagrams, now with container rendering (Loop/Parallel render as real subflow containers with a Start pill and nested blocks) and integration-icon fallback (Gmail/Slack/etc. glyphs in diagrams).4. Generator (
scripts/generate-docs.ts)integrations/pages (block pass writes Actions; trigger pass appends## Triggers, or writes a standalone page for trigger-only services like IMAP/Circleback;jsmtriggers merge into the Jira Service Management page).MANUAL-CONTENTintact.scripts/README.mdrewritten to document the pipeline (canonical sources inapps/sim, the golden don't-hand-edit rule, the manual-content escape hatch).5. Stale-content fixes
Skills page location, Credentials→Secrets, Integrations page, retired Vision block, Copilot→Mothership, dead
Mod+Yshortcut, recovered staging's enriched Table doc (filter operators, limits, column types), restored 198 curated integration intros that the relocation would otherwise have dropped.Verification
bun run buildpasses (note: docs build needsDATABASE_URLfor the search route — pre-existing; CI provides it).fumadocs-mdxclean; 116 image refs resolve; allBlockPreview/WorkflowPreviewusages validated against specs/exports.Scope / notes
en) only. Other locales unchanged (they keep the old structure; follow-up).staging— block colors/configs and the new integrations (Sendblue, MillionVerifier, NeverBounce, ZeroBounce) are reflected.NEXT_PUBLIC_BLOB_BASE_URL); remote in local dev, fine in prod.Known gaps / follow-ups (tracked, not blockers)
{/* VISUAL */}/ TODO placeholder slots (diagrams/screenshots); refresh old-UI screenshots.a2a/mysql/postgresqlwere recategorized tocategory: 'blocks'upstream and currently have no docs home — needs an IA decision.how-it-runs,data-flow,triggers/start,triggers/table.🤖 Generated with Claude Code