Skip to content

Commit 79b6cbf

Browse files
ouiliameclaude
andcommitted
docs(preview): tool chips use the EMCN ChipTag chrome
The canvas previews' tool chips were ad-hoc (5px radius, header surface, plain border). The app's canonical chip chrome is the ChipTag family: 20px tall, rounded-md, px-1, gap-1.5, --surface-5 light / --surface-4 dark with an inset --border-1 ring and --text-body label. Mirrored those values into --wp-chip-* tokens (both modes) and restyled the chip; the integration's brand-color icon square stays, sized to the chip. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent cda8b06 commit 79b6cbf

4 files changed

Lines changed: 262 additions & 4 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Spec: integration pages as per-service block indexes
2+
3+
Status: approved, in progress. Owner: docs reorg (`feat/docs-reorg`).
4+
5+
## Ontology (the thing we're encoding)
6+
7+
Everything in a workflow is a **block**. A workflow is **blocks + connections**. Some
8+
blocks are **triggers** — they take no input and start the run. This is literal in the
9+
code: `BlockCategory = 'blocks' | 'tools' | 'triggers'`, and integration blocks
10+
(`gmail`, `github`, …) additionally carry a `triggers: {}` capability — the same block
11+
does actions *and* can start a workflow. There is no separate "trigger" species, and we
12+
stop using the word **"Tools"** in user-facing docs.
13+
14+
Encoding: a small **Trigger** badge on any block that starts a workflow (driven by
15+
`category: 'triggers'` or a `triggers:{}` capability). Native trigger blocks and an
16+
integration's trigger use the same badge.
17+
18+
## Target IA
19+
20+
- **`/integrations/<service>`** (generated, one page per service) — a **block index for
21+
that service**: its capabilities listed, trigger capability(ies) badged **Trigger**.
22+
This single page is the per-integration unified reference. Replaces `/tools/<service>`
23+
**and** `/triggers/<service>`.
24+
- **Blocks reference** (hand-written: core blocks + the ~10 trigger blocks) — same
25+
pattern: a block index with triggers badged. Folds today's *Core Blocks* + *Core
26+
Triggers* into one "blocks, some are triggers" surface.
27+
- **Retire** `/tools/*`, `/triggers/<service>`, and the interim `integration-triggers/`
28+
folder → all become `/integrations/<service>`.
29+
30+
## Resolved decisions
31+
32+
- **A. Native trigger blocks** live in the **Blocks** reference, badged **Trigger**, kept
33+
in a scannable "Triggers" sub-grouping within it. (Done as the final step, after the
34+
generator work.)
35+
- **B. Navbar / section label = "Integrations".** Users search by service; the ontology
36+
("it's a block") is taught in prose, not the nav label.
37+
- **C. Redirects added.** Initially decided as a fresh start, revised before merge:
38+
`/tools/*` are live, indexed URLs referenced by deployed app docsLink fields and
39+
marketplace listings, so next.config now 308s them (and the old
40+
`/triggers/<service>` pages) to `/integrations/<service>`.
41+
- **D. Integration page = one page per service** listing the service's operations + its
42+
trigger(s), triggers badged. Not Tools/Triggers tabs; a single badged block index.
43+
44+
## Generator (`scripts/generate-docs.ts`)
45+
46+
Today: `generateAllBlockDocs()` → writes `tools/<service>.mdx` (per `category:'tools'`
47+
block) + `generateAllTriggerDocs()` writes `triggers/<service>.mdx` from
48+
`apps/sim/triggers/<provider>/` + rewrites `triggers/meta.json` + emits
49+
icons/icon-mapping/landing `integrations.json`. **One integration = two pages today.**
50+
51+
Changes:
52+
1. New output root `content/docs/en/integrations/`; stop writing `tools/` and integration
53+
`triggers/`.
54+
2. **Join by service:** for each integration gather (a) the block's operations/actions and
55+
(b) the trigger config from `apps/sim/triggers/<provider>/` if present.
56+
3. Emit `integrations/<service>.mdx`: header (icon + name) + block index, trigger entries
57+
badged. Generate `integrations/meta.json`.
58+
4. Repoint landing/icon `docsUrl` (`/tools/<x>``/integrations/<x>`); keep the landing
59+
`integrations.json` shape intact.
60+
5. Keep hand-written core blocks + native triggers (`HANDWRITTEN_*` / `SKIP_*`). Remove
61+
the old `tools`/`triggers` meta writers.
62+
63+
## Redirects (`apps/docs/next.config.ts`)
64+
65+
- `/tools` -> `/integrations`; `/tools/:slug` -> `/integrations/:slug` (custom-tools -> building-agents)
66+
- `/triggers/<service>` -> `/integrations/<service>` (enumerated; provider-slug mappings for jsm/google-*/microsoft-teams)
67+
- `/blocks` -> `/workflows#blocks`; `/triggers` -> `/workflows#triggers`
68+
- Native trigger pages (`/triggers/start|schedule|webhook|rss|table`) unaffected.
69+
70+
## Migration order
71+
72+
1. Trigger badge component + the integration-page template.
73+
2. Rewrite the generator to emit `/integrations/<service>`; regenerate; delete old
74+
`tools/` + integration `triggers/` + `integration-triggers/`.
75+
3. Redirects; rename the navbar surface to Integrations; update `meta.json`.
76+
4. Fold native triggers into the Blocks reference (badged); retire the separate Core
77+
Triggers framing.
78+
5. Build + link-check.
79+
80+
## Notes / risk
81+
82+
- The generator also feeds the **landing page** via `integrations.json` — changes must not
83+
break its shape, only repoint doc URLs.
84+
- The interim `integration-triggers/` folder and the *Core Triggers* accordion are
85+
scaffolding that this supersedes.
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
# Visuals manifest — screenshots and walkthroughs to recapture
2+
3+
Generated from the live content tree. CURRENT = captured against the new UI
4+
this cycle; everything else predates the UI changes (Integrations moved out of
5+
Settings, Agent block Messages field, new sidebar IA, block colors) and should
6+
be assumed stale until verified.
7+
8+
**Capture priority (per platform usage data, 2026-06):** integration shots in
9+
adoption order — Google Sheets, Gmail, Telegram, WhatsApp, X, Google Drive,
10+
Outlook, YouTube, Slack; trigger shots led by Telegram/Gmail/WhatsApp;
11+
getting-started videos remain #1 overall (first-run funnel cliff).
12+
13+
## Screenshots (120 unique)
14+
15+
- [ ] `/static/api-deployment/api-info.png` — deployment/api.mdx
16+
- [ ] `/static/api-deployment/api-select-outputs.png` — deployment/api.mdx
17+
- [ ] `/static/api-deployment/api-tab.png` — deployment/api.mdx
18+
- [ ] `/static/api-deployment/api-update-button.png` — deployment/api.mdx
19+
- [ ] `/static/api-deployment/api-versions-menu.png` — deployment/api.mdx
20+
- [ ] `/static/api-deployment/api-versions.png` — deployment/api.mdx
21+
- [ ] `/static/blocks/credential-loop.png` — blocks/credential.mdx
22+
- [ ] `/static/blocks/guardrails-2.png` — blocks/guardrails.mdx
23+
- [ ] `/static/blocks/hitl-2.png` — blocks/human-in-the-loop.mdx
24+
- [ ] `/static/blocks/loop-1.png` — blocks/loop.mdx
25+
- [ ] `/static/blocks/loop-2.png` — blocks/loop.mdx
26+
- [ ] `/static/blocks/loop-3.png` — blocks/loop.mdx
27+
- [ ] `/static/blocks/loop-4.png` — blocks/loop.mdx
28+
- [ ] `/static/blocks/mcp-add-modal.png` — mcp/index.mdx
29+
- [ ] `/static/blocks/mcp-agent-dropdown.png` — mcp/index.mdx
30+
- [ ] `/static/blocks/mcp-agent-tools.png` — mcp/index.mdx
31+
- [ ] `/static/blocks/mcp-client-config.png` — deployment/mcp.mdx
32+
- [ ] `/static/blocks/mcp-deploy-modal.png` — deployment/mcp.mdx
33+
- [ ] `/static/blocks/mcp-server-add-modal.png` — deployment/mcp.mdx
34+
- [ ] `/static/blocks/mcp-server-details.png` — deployment/mcp.mdx
35+
- [ ] `/static/blocks/mcp-servers-settings.png` — deployment/mcp.mdx
36+
- [ ] `/static/blocks/mcp-settings.png` — mcp/index.mdx
37+
- [ ] `/static/blocks/mcp-tool-block.png` — mcp/index.mdx
38+
- [ ] `/static/blocks/parallel-1.png` — blocks/parallel.mdx
39+
- [ ] `/static/blocks/parallel-2.png` — blocks/parallel.mdx
40+
- [ ] `/static/blocks/schedule-3.png` — triggers/schedule.mdx
41+
- [ ] `/static/chat/chat-deploy-access-email.png` — deployment/chat.mdx
42+
- [ ] `/static/chat/chat-deploy-config.png` — deployment/chat.mdx
43+
- [ ] `/static/chat/chat-deploy-output.png` — deployment/chat.mdx
44+
- [ ] `/static/chat/chat-live.png` — deployment/chat.mdx
45+
- [ ] `/static/connectors/connectors-excluded.png` — knowledgebase/connectors.mdx
46+
- [ ] `/static/connectors/connectors-list.png` — knowledgebase/connectors.mdx
47+
- [ ] `/static/connectors/connectors-sources.png` — knowledgebase/connectors.mdx
48+
- [ ] `/static/connectors/connectors-sync-history.png` — knowledgebase/connectors.mdx
49+
- [ ] `/static/credentials/add-service-account.png` — integrations/google-service-account.mdx
50+
- [ ] `/static/credentials/atlassian/admin-auth-type-picker.png` — integrations/atlassian-service-account.mdx
51+
- [ ] `/static/credentials/atlassian/admin-scope-picker.png` — integrations/atlassian-service-account.mdx
52+
- [ ] `/static/credentials/atlassian/sim-add-modal.png` — integrations/atlassian-service-account.mdx
53+
- [ ] `/static/credentials/atlassian/sim-jira-block-credential.png` — integrations/atlassian-service-account.mdx
54+
- [ ] `/static/credentials/gcp-add-client-id.png` — integrations/google-service-account.mdx
55+
- [ ] `/static/credentials/gcp-create-private-key.png` — integrations/google-service-account.mdx
56+
- [ ] `/static/credentials/gcp-create-service-account.png` — integrations/google-service-account.mdx
57+
- [ ] `/static/credentials/integrations-service-account.png` — integrations/google-service-account.mdx
58+
- [ ] `/static/credentials/oauth-selector.png` — integrations/index.mdx
59+
- [ ] `/static/credentials/secret-dropdown.png` — credentials/index.mdx
60+
- [ ] `/static/credentials/secret-resolved.png` — credentials/index.mdx
61+
- [ ] `/static/credentials/workflow-impersonated-account.png` — integrations/google-service-account.mdx
62+
- [ ] `/static/enterprise/access-control-blocks.png` — enterprise/access-control.mdx
63+
- [ ] `/static/enterprise/access-control-groups.png` — enterprise/access-control.mdx
64+
- [ ] `/static/enterprise/access-control-model-providers.png` — enterprise/access-control.mdx
65+
- [ ] `/static/enterprise/access-control-platform.png` — enterprise/access-control.mdx
66+
- [ ] `/static/enterprise/audit-logs.png` — enterprise/audit-logs.mdx
67+
- [ ] `/static/enterprise/data-drains-list.png` — enterprise/data-drains.mdx
68+
- [ ] `/static/enterprise/data-drains-new.png` — enterprise/data-drains.mdx
69+
- [ ] `/static/enterprise/data-retention.png` — enterprise/data-retention.mdx
70+
- [ ] `/static/enterprise/sso-form.png` — enterprise/sso.mdx
71+
- [ ] `/static/enterprise/whitelabeling.png` — enterprise/whitelabeling.mdx
72+
- [ ] `/static/execution/combination.png` — workflows/how-it-runs.mdx
73+
- [ ] `/static/execution/concurrency.png` — workflows/how-it-runs.mdx
74+
- [ ] `/static/execution/routing.png` — workflows/how-it-runs.mdx
75+
- [ ] `/static/getting-started/started-1.png` — getting-started/index.mdx
76+
- [x] `/static/integrations/hubspot/connect-hubspot-modal.png` — integrations/hubspot-setup.mdx, integrations/index.mdx
77+
- [x] `/static/integrations/hubspot/hubspot-oauth-signin.png` — integrations/hubspot-setup.mdx
78+
- [x] `/static/integrations/hubspot/hubspot-page-add-to-sim.png` — integrations/hubspot-setup.mdx, integrations/index.mdx
79+
- [x] `/static/integrations/hubspot/integrations-page.png` — integrations/hubspot-setup.mdx, integrations/index.mdx
80+
- [ ] `/static/integrations/manual-credential-id.png` — integrations/index.mdx
81+
- [ ] `/static/integrations/switch-to-manual-id.png` — integrations/index.mdx
82+
- [ ] `/static/introduction.png` — introduction/index.mdx
83+
- [ ] `/static/logs/console.png` — logs-debugging/logging.mdx
84+
- [ ] `/static/logs/logs-cost.png` — costs.mdx
85+
- [ ] `/static/logs/logs-frozen-canvas.png` — logs-debugging/logging.mdx
86+
- [ ] `/static/logs/logs-sidebar.png` — logs-debugging/logging.mdx
87+
- [ ] `/static/logs/logs.png` — logs-debugging/logging.mdx
88+
- [ ] `/static/mothership/chart-example.png` — mothership/files.mdx
89+
- [ ] `/static/mothership/image-example.png` — mothership/files.mdx
90+
- [ ] `/static/mothership/pptx-example.png` — mothership/files.mdx
91+
- [ ] `/static/mothership/table-example.png` — mothership/tables.mdx
92+
- [ ] `/static/quick-reference/add-env-variable.png` — quick-reference/index.mdx
93+
- [ ] `/static/quick-reference/clear-chat.png` — quick-reference/index.mdx
94+
- [ ] `/static/quick-reference/clear-terminal.png` — quick-reference/index.mdx
95+
- [ ] `/static/quick-reference/copy-api.png` — quick-reference/index.mdx
96+
- [ ] `/static/quick-reference/copy-log.png` — quick-reference/index.mdx
97+
- [ ] `/static/quick-reference/create-workflow.png` — quick-reference/index.mdx
98+
- [ ] `/static/quick-reference/delete-block.png` — quick-reference/index.mdx
99+
- [ ] `/static/quick-reference/deploy.png` — quick-reference/index.mdx
100+
- [ ] `/static/quick-reference/disable-block.png` — quick-reference/index.mdx
101+
- [ ] `/static/quick-reference/env-variable-reference.png` — quick-reference/index.mdx
102+
- [ ] `/static/quick-reference/filter-block.png` — quick-reference/index.mdx
103+
- [ ] `/static/quick-reference/folder-context-menu.png` — quick-reference/index.mdx
104+
- [ ] `/static/quick-reference/import-workflow.png` — quick-reference/index.mdx
105+
- [ ] `/static/quick-reference/lock-block.png` — quick-reference/index.mdx
106+
- [ ] `/static/quick-reference/output-select.png` — quick-reference/index.mdx
107+
- [ ] `/static/quick-reference/promote-deployment.png` — quick-reference/index.mdx
108+
- [ ] `/static/quick-reference/run-from-block.png` — quick-reference/index.mdx
109+
- [ ] `/static/quick-reference/run-until-block.png` — quick-reference/index.mdx
110+
- [ ] `/static/quick-reference/run-workflow.png` — quick-reference/index.mdx
111+
- [ ] `/static/quick-reference/search-everything.png` — quick-reference/index.mdx
112+
- [ ] `/static/quick-reference/stop-workflow.png` — quick-reference/index.mdx
113+
- [ ] `/static/quick-reference/terminal-search.png` — quick-reference/index.mdx
114+
- [ ] `/static/quick-reference/terminal.png` — quick-reference/index.mdx
115+
- [ ] `/static/quick-reference/test-chat.png` — quick-reference/index.mdx
116+
- [ ] `/static/quick-reference/toggle-manual-mode.png` — quick-reference/index.mdx
117+
- [ ] `/static/quick-reference/update-deployment.png` — quick-reference/index.mdx
118+
- [ ] `/static/quick-reference/variable-reference.png` — quick-reference/index.mdx
119+
- [ ] `/static/quick-reference/variables.png` — quick-reference/index.mdx
120+
- [ ] `/static/quick-reference/view-deployment.png` — quick-reference/index.mdx
121+
- [ ] `/static/quick-reference/workflow-context-menu.png` — quick-reference/index.mdx
122+
- [ ] `/static/quick-reference/workspace-context-menu.png` — quick-reference/index.mdx
123+
- [ ] `/static/secrets/secret-details.png` — credentials/index.mdx
124+
- [ ] `/static/secrets/secrets-list.png` — credentials/index.mdx
125+
- [x] `/static/skills/add-skill-create.png` — skills/index.mdx
126+
- [x] `/static/skills/add-skill-import.png` — skills/index.mdx
127+
- [ ] `/static/skills/add-skill.png` — skills/index.mdx
128+
- [x] `/static/skills/skills-tab.png` — skills/index.mdx
129+
- [ ] `/static/start.png` — triggers/start.mdx
130+
- [ ] `/static/tables/tables-overview.png` — tables/index.mdx
131+
- [ ] `/static/tags/tags-create.png` — knowledgebase/tags.mdx
132+
- [ ] `/static/tags/tags-document-list.png` — knowledgebase/tags.mdx
133+
- [ ] `/static/tags/tags-kb-menu.png` — knowledgebase/tags.mdx
134+
- [ ] `/static/tags/tags-knowledge-block.png` — knowledgebase/tags.mdx
135+
136+
## Walkthrough videos (23 unique, CDN-served)
137+
138+
All predate the current UI. getting-started/* confirmed stale (System/User
139+
Prompt era). Mothership set may be closest to current — verify before re-recording.
140+
141+
- [ ] `getting-started/started-2.mp4` — getting-started/index.mdx
142+
- [ ] `getting-started/started-3.mp4` — getting-started/index.mdx
143+
- [ ] `getting-started/started-4.mp4` — getting-started/index.mdx
144+
- [ ] `getting-started/started-5.mp4` — getting-started/index.mdx
145+
- [ ] `getting-started/started-6.mp4` — getting-started/index.mdx
146+
- [ ] `guardrails.mp4` — blocks/guardrails.mdx
147+
- [ ] `hitl-resume.mp4` — blocks/human-in-the-loop.mdx
148+
- [ ] `introduction/build-workflow.mp4` — introduction/index.mdx
149+
- [ ] `invitations.mp4` — permissions/roles-and-permissions.mdx
150+
- [ ] `knowledgebase-1.mp4` — knowledgebase/index.mdx
151+
- [ ] `mcp/mcp-deploy-tool.mp4` — deployment/mcp.mdx
152+
- [ ] `mcp/mcp-server.mp4` — deployment/mcp.mdx
153+
- [ ] `mcp/settings-mcp-tools.mp4` — mcp/index.mdx
154+
- [ ] `mothership/context-menu.mp4` — mothership/index.mdx
155+
- [ ] `mothership/create-workflow.mp4` — mothership/index.mdx, mothership/workflows.mdx
156+
- [ ] `mothership/files-pipeline-deals-summarizer.mp4` — mothership/files.mdx
157+
- [ ] `mothership/job-create.mp4` — mothership/tasks.mdx
158+
- [ ] `mothership/kb.mp4` — mothership/knowledge.mdx
159+
- [ ] `mothership/research-agent.mp4` — mothership/research.mdx
160+
- [ ] `mothership/run-workflow.mp4` — mothership/workflows.mdx
161+
- [ ] `mothership/split-view.mp4` — mothership/index.mdx
162+
- [ ] `mothership/toggle-file-view.mp4` — mothership/files.mdx
163+
- [ ] `slack-trigger.mp4` — triggers/webhook.mdx
164+
165+
## Also missing entirely (no asset yet)
166+
167+
39 `{/* VISUAL */}` placeholder slots + 16 `{/* TODO */}` screenshot markers —
168+
see `grep -rn 'VISUAL\|TODO' content/docs/en/` for the live list (concentrated
169+
in tables, mothership, logs-debugging, files, workspaces, deployment).

apps/docs/app/global.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1867,6 +1867,8 @@ html.dark main article blockquote {
18671867
/* borders */
18681868
--wp-border: #dedede; /* --border */
18691869
--wp-border-1: #e0e0e0; /* --border-1 */
1870+
--wp-chip-bg: #f3f3f3; /* --surface-5: ChipTag surface (light) */
1871+
--wp-chip-text: #3b3b3b; /* --text-body */
18701872
--wp-divider: #ededed; /* --divider */
18711873
--wp-edge: #e0e0e0; /* --workflow-edge */
18721874

@@ -1902,6 +1904,8 @@ html.dark main article blockquote {
19021904

19031905
--wp-border: #333333;
19041906
--wp-border-1: #3d3d3d;
1907+
--wp-chip-bg: #292929; /* --surface-4: ChipTag surface (dark) */
1908+
--wp-chip-text: #cdcdcd; /* --text-body */
19051909
--wp-divider: #393939;
19061910
--wp-edge: #454545;
19071911

apps/docs/components/workflow-preview/preview-block-node.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,15 @@ export const PreviewBlockNode = memo(function PreviewBlockNode({
177177
return (
178178
<div
179179
key={tool.type}
180-
className='flex items-center gap-[5px] rounded-[5px] border border-[var(--wp-border-1)] bg-[var(--wp-header)] px-[6px] py-[3px]'
180+
className='inline-flex h-5 items-center gap-1.5 rounded-md bg-[var(--wp-chip-bg)] px-1 shadow-[inset_0_0_0_1px_var(--wp-border-1)]'
181181
>
182182
<div
183-
className='flex size-[16px] flex-shrink-0 items-center justify-center rounded-[4px]'
183+
className='flex size-[14px] flex-shrink-0 items-center justify-center rounded-[4px]'
184184
style={{ background: tool.bgColor }}
185185
>
186-
{ToolIcon && <ToolIcon className='size-[10px] text-white' />}
186+
{ToolIcon && <ToolIcon className='size-[9px] text-white' />}
187187
</div>
188-
<span className='font-normal text-[12px] text-[var(--wp-text)]'>
188+
<span className='font-normal text-[12px] text-[var(--wp-chip-text)] leading-5'>
189189
{tool.name}
190190
</span>
191191
</div>

0 commit comments

Comments
 (0)