Skip to content

Commit 46e75dc

Browse files
ouiliameclaude
andcommitted
docs: redirect the retired tools/ and trigger URLs to integrations/
Revises the earlier fresh-start call: /tools/* are ~200 live, indexed URLs referenced by deployed app versions' docsLink fields and marketplace listings, so dropping them cold would 404 from the live product. next.config now 308s: - /tools -> /integrations, /tools/:slug -> /integrations/:slug (custom-tools -> building-agents/custom-tools first) - old /triggers/<service> -> /integrations/<service>, enumerated so the native trigger pages keep resolving; provider-slug mappings for jsm and the hyphenated Google/Microsoft slugs - /blocks and /triggers index URLs -> the workflows overview anchors Verified every class + native passthroughs against the dev server. Spec updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent f6a1868 commit 46e75dc

2 files changed

Lines changed: 54 additions & 5 deletions

File tree

apps/docs/.plans/integrations-ia.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ integration's trigger use the same badge.
3434
generator work.)
3535
- **B. Navbar / section label = "Integrations".** Users search by service; the ontology
3636
("it's a block") is taught in prose, not the nav label.
37-
- **C. No redirects — fresh start.** Old `/tools/*` and `/triggers/*` URLs are dropped,
38-
not redirected. We nuke `tools/` and build `integrations/` clean.
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>`.
3941
- **D. Integration page = one page per service** listing the service's operations + its
4042
trigger(s), triggers badged. Not Tools/Triggers tabs; a single badged block index.
4143

@@ -58,10 +60,12 @@ Changes:
5860
5. Keep hand-written core blocks + native triggers (`HANDWRITTEN_*` / `SKIP_*`). Remove
5961
the old `tools`/`triggers` meta writers.
6062

61-
## Redirects
63+
## Redirects (`apps/docs/next.config.ts`)
6264

63-
None. Fresh start — `tools/` is deleted and the old `/tools/*` and `/triggers/<service>`
64-
URLs are dropped, not redirected.
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.
6569

6670
## Migration order
6771

apps/docs/next.config.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,51 @@ const config: NextConfig = {
5151
{ source: '/execution/chat', destination: '/deployment/chat', permanent: true },
5252
{ source: '/execution/form', destination: '/deployment/form', permanent: true },
5353
{ source: '/mcp/deploy-workflows', destination: '/deployment/mcp', permanent: true },
54+
// tools/ + triggers/<service> unified into per-service integrations/ pages.
55+
// Specific moves first (Next applies the first matching redirect):
56+
{
57+
source: '/tools/custom-tools',
58+
destination: '/building-agents/custom-tools',
59+
permanent: true,
60+
},
61+
{ source: '/tools', destination: '/integrations', permanent: true },
62+
{ source: '/tools/:slug', destination: '/integrations/:slug', permanent: true },
63+
// Old blocks/triggers index pages were folded into the workflows overview.
64+
// Native trigger pages (/triggers/start|schedule|webhook|rss|table) still exist.
65+
{ source: '/blocks', destination: '/workflows#blocks', permanent: true },
66+
{ source: '/triggers', destination: '/workflows#triggers', permanent: true },
67+
// Integration trigger pages: provider slug differs from the block type for a few.
68+
{
69+
source: '/triggers/jsm',
70+
destination: '/integrations/jira_service_management',
71+
permanent: true,
72+
},
73+
{
74+
source: '/triggers/google-calendar',
75+
destination: '/integrations/google_calendar',
76+
permanent: true,
77+
},
78+
{
79+
source: '/triggers/google-drive',
80+
destination: '/integrations/google_drive',
81+
permanent: true,
82+
},
83+
{
84+
source: '/triggers/google-sheets',
85+
destination: '/integrations/google_sheets',
86+
permanent: true,
87+
},
88+
{
89+
source: '/triggers/microsoft-teams',
90+
destination: '/integrations/microsoft_teams',
91+
permanent: true,
92+
},
93+
{
94+
source:
95+
'/triggers/:slug(airtable|ashby|attio|azure_devops|calcom|calendly|circleback|confluence|emailbison|fathom|fireflies|github|gmail|gong|google_forms|grain|greenhouse|hubspot|imap|intercom|jira|lemlist|linear|monday|notion|outlook|resend|salesforce|sendblue|servicenow|slack|stripe|telegram|twilio_voice|typeform|vercel|webflow|whatsapp|zoom)',
96+
destination: '/integrations/:slug',
97+
permanent: true,
98+
},
5499
]
55100
},
56101
async rewrites() {

0 commit comments

Comments
 (0)