docs: add migration guide from n8n to Trigger.dev#3283
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
WalkthroughAdds a new migration guide document Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/migration-n8n.mdx (1)
273-340: Strong example, but consider adding reliability context.The customer onboarding workflow is comprehensive and demonstrates real-world migration patterns effectively.
However, the PR description mentions that "n8n's execution model has known reliability issues at production scale for that pattern, which Trigger.dev handles natively" (referring to the 3-day wait). Consider adding a brief note about this reliability benefit in the documentation, perhaps in a
<Note>or<Tip>component near the wait example (line 316), to help users understand why migrating this specific pattern is valuable.💡 Suggested enhancement to highlight reliability benefits
Add context about reliability near the wait pattern:
// wait 3 days, then check if they've activated await wait.for({ days: 3 }); + + // Note: Long-duration waits like this are reliable in Trigger.dev + // because runs are properly suspended and resumed, whereas n8n's + // execution model can have reliability challenges at scale for multi-day waits.Or add a
<Note>component in the documentation before the full example section.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/migration-n8n.mdx` around lines 273 - 340, Add a short Note/Tip near the wait example that explains n8n's known reliability issues for long-running waits and that Trigger.dev handles durable/wait semantics natively (e.g., reference the 3-day wait shown with wait.for inside the onboardCustomer task/run), placing the Note just before or immediately after the wait.for call in the full example; keep the text brief (1–2 sentences) and contextual (mention durable waits/retryability/visibility in the dashboard) so readers understand why migrating this pattern is beneficial.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/migration-n8n.mdx`:
- Around line 273-340: Add a short Note/Tip near the wait example that explains
n8n's known reliability issues for long-running waits and that Trigger.dev
handles durable/wait semantics natively (e.g., reference the 3-day wait shown
with wait.for inside the onboardCustomer task/run), placing the Note just before
or immediately after the wait.for call in the full example; keep the text brief
(1–2 sentences) and contextual (mention durable waits/retryability/visibility in
the dashboard) so readers understand why migrating this pattern is beneficial.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 4ec7e96c-57e7-4fb4-9684-8a4aa4fda9a4
📒 Files selected for processing (2)
docs/docs.jsondocs/migration-n8n.mdx
📜 Review details
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{js,ts,jsx,tsx,json,md,yaml,yml}
📄 CodeRabbit inference engine (AGENTS.md)
Format code using Prettier before committing
Files:
docs/docs.json
docs/**/docs.json
📄 CodeRabbit inference engine (docs/CLAUDE.md)
docs/**/docs.json: Main documentation config must be defined indocs.jsonwhich includes navigation structure, theme, and metadata
Navigation structure indocs.jsonshould be organized usingnavigation.dropdownswith groups and pages
Files:
docs/docs.json
docs/**/*.mdx
📄 CodeRabbit inference engine (docs/CLAUDE.md)
docs/**/*.mdx: MDX documentation pages must include frontmatter with title (required), description (required), and sidebarTitle (optional) in YAML format
Use Mintlify components for structured content: , , , , , , /, /
Always import from@trigger.dev/sdkin code examples (never from@trigger.dev/sdk/v3)
Code examples must be complete and runnable where possible
Use language tags in code fences:typescript,bash,json
Files:
docs/migration-n8n.mdx
🧠 Learnings (16)
📓 Common learnings
Learnt from: nicktrn
Repo: triggerdotdev/trigger.dev PR: 3200
File: docs/config/config-file.mdx:353-368
Timestamp: 2026-03-10T12:44:19.869Z
Learning: In the triggerdotdev/trigger.dev repository, docs PRs are often written as companions to implementation PRs (e.g., PR `#3200` documents features being added in PR `#3196`). When reviewing docs PRs, the documented features may exist in a companion/companion PR branch rather than main. Always check companion PRs referenced in the PR description before flagging missing implementations.
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/core/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:37.906Z
Learning: Exercise caution with changes to trigger.dev/core as they affect both the customer-facing SDK and server-side webapp - breaking changes can impact deployed user tasks and the platform simultaneously
📚 Learning: 2026-03-02T12:43:02.539Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: docs/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:02.539Z
Learning: New documentation pages must be added to the navigation structure in `docs.json` under the correct group after creating the MDX file
Applied to files:
docs/docs.json
📚 Learning: 2026-03-02T12:43:02.539Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: docs/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:02.539Z
Learning: Applies to docs/**/docs.json : Navigation structure in `docs.json` should be organized using `navigation.dropdowns` with groups and pages
Applied to files:
docs/docs.json
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task()` from `trigger.dev/sdk` for basic task definitions with `id` and `run` properties
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-02T12:43:34.140Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/cli-v3/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:34.140Z
Learning: Keep SDK documentation in `rules/` and `.claude/skills/trigger-dev-tasks/` synchronized when features are added or changed
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-02T12:43:37.906Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/core/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:37.906Z
Learning: Exercise caution with changes to trigger.dev/core as they affect both the customer-facing SDK and server-side webapp - breaking changes can impact deployed user tasks and the platform simultaneously
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `schedules.task()` for scheduled (cron) tasks with either declarative cron patterns or imperative schedule creation
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use lifecycle hooks (`init`, `cleanup`, `onStart`, `onSuccess`, `onFailure`, `handleError`) to manage task execution stages
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.trigger()` to trigger a single run of a task from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.triggerAndWait()` to trigger a task and wait for its result from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.batchTrigger()` to trigger multiple runs of a task from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `batch.triggerByTaskAndWait()` to batch trigger multiple tasks by instance and wait for results
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.batchTriggerAndWait()` to batch trigger a task and wait for all results from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Run `npx trigger.devlatest init` to initialize a new Trigger.dev project
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to trigger.config.ts : Define global lifecycle hooks (`onStart`, `onSuccess`, `onFailure`) in `trigger.config.ts` to apply to all tasks
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-10T12:44:14.176Z
Learnt from: nicktrn
Repo: triggerdotdev/trigger.dev PR: 3200
File: docs/config/config-file.mdx:353-368
Timestamp: 2026-03-10T12:44:14.176Z
Learning: In the trigger.dev repo, docs PRs are often companions to implementation PRs. When reviewing docs PRs (MDX files under docs/), check the PR description for any companion/related PR references and verify that the documented features exist in those companion PRs before flagging missing implementations. This ensures docs stay in sync with code changes across related PRs.
Applied to files:
docs/migration-n8n.mdx
🔇 Additional comments (9)
docs/docs.json (1)
473-473: LGTM! Navigation entry correctly added.The new migration guide has been properly added to the "Migration guides" group in the navigation structure, maintaining alphabetical order.
docs/migration-n8n.mdx (8)
1-8: LGTM! Frontmatter and introduction are well-structured.The required frontmatter fields (title, description, sidebarTitle) are present and properly formatted, and the introduction clearly states the guide's purpose.
9-32: Excellent concept mapping!The table provides comprehensive coverage of n8n workflow concepts and their Trigger.dev equivalents, making it easy for users to understand the translation between platforms.
35-66: LGTM! Clear setup instructions.The setup section properly uses Mintlify
<Steps>components and provides correct CLI commands for initialization and development.
69-106: LGTM! Webhook pattern correctly demonstrates the separation of concerns.The example properly shows how to receive webhooks in a route handler and trigger background task processing, which is the recommended pattern.
110-174: LGTM! Chaining and batch execution patterns are well-demonstrated.The examples correctly show both sequential task execution with
triggerAndWait()and parallel batch execution withbatchTriggerAndWait(), mapping well to n8n's sub-workflow and merge patterns.
177-213: LGTM! Comprehensive error handling coverage.The example effectively demonstrates three levels of error handling (retry,
onFailurehook, and try/catch), providing a clear migration path from n8n's error handling mechanisms.
297-310: The.unwrap()API pattern shown in the example is correct. The codebase consistently uses this pattern throughout test tasks and the SDK to handle results fromtriggerAndWait()calls.
217-269: No issues identified. The wait API patterns in the example code are correct and consistent with the SDK implementation:
wait.for({ days: 3 })is the correct API signaturewait.createToken()properly accepts bothtimeoutandtagsoptionswait.forToken<T>(token).unwrap()correctly supports generic type parameters and the.unwrap()methodAll code examples follow the proper API contracts.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/migration-n8n.mdx`:
- Line 277: The phrase "back office onboarding workflow" should use a hyphenated
compound adjective; update the sentence "Here's how a typical back office
onboarding workflow translates from n8n to Trigger.dev." to read "Here's how a
typical back-office onboarding workflow translates from n8n to Trigger.dev." so
"back-office" is hyphenated.
- Around line 19-21: The concept map uses non-existent APIs
tasks.triggerAndWait() and tasks.batchTriggerAndWait(); update the display text
to the actual SDK methods so readers won't copy/paste invalid calls: replace
tasks.triggerAndWait() with yourTask.triggerAndWait() (instance method) and
replace tasks.batchTriggerAndWait() with either yourTask.batchTriggerAndWait()
for per-task batching or batch.triggerAndWait() for the global batch API,
keeping the existing links as-is.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 352668e7-fd69-4742-8253-ef86a9d04040
📒 Files selected for processing (2)
docs/docs.jsondocs/migration-n8n.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/docs.json
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
docs/**/*.mdx
📄 CodeRabbit inference engine (docs/CLAUDE.md)
docs/**/*.mdx: MDX documentation pages must include frontmatter with title (required), description (required), and sidebarTitle (optional) in YAML format
Use Mintlify components for structured content: , , , , , , /, /
Always import from@trigger.dev/sdkin code examples (never from@trigger.dev/sdk/v3)
Code examples must be complete and runnable where possible
Use language tags in code fences:typescript,bash,json
Files:
docs/migration-n8n.mdx
🧠 Learnings (14)
📓 Common learnings
Learnt from: nicktrn
Repo: triggerdotdev/trigger.dev PR: 3200
File: docs/config/config-file.mdx:353-368
Timestamp: 2026-03-10T12:44:19.869Z
Learning: In the triggerdotdev/trigger.dev repository, docs PRs are often written as companions to implementation PRs (e.g., PR `#3200` documents features being added in PR `#3196`). When reviewing docs PRs, the documented features may exist in a companion/companion PR branch rather than main. Always check companion PRs referenced in the PR description before flagging missing implementations.
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/core/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:37.906Z
Learning: Exercise caution with changes to trigger.dev/core as they affect both the customer-facing SDK and server-side webapp - breaking changes can impact deployed user tasks and the platform simultaneously
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: docs/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:02.539Z
Learning: New documentation pages must be added to the navigation structure in `docs.json` under the correct group after creating the MDX file
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: docs/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:02.539Z
Learning: Organize documentation across appropriate directories: `documentation/` for core conceptual docs, `guides/` for how-to guides, `config/` for configuration reference, `deployment/` for deployment guides, `tasks/` for task documentation, `realtime/` for real-time features, `runs/` for run management, and `images/` for assets
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/cli-v3/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:34.140Z
Learning: Keep SDK documentation in `rules/` and `.claude/skills/trigger-dev-tasks/` synchronized when features are added or changed
Learnt from: isshaddad
Repo: triggerdotdev/trigger.dev PR: 3262
File: docs/guides/frameworks/nango.mdx:71-71
Timestamp: 2026-03-25T00:18:26.339Z
Learning: Applies to docs/guides/frameworks/**/*.mdx : The trigger.dev docs repo uses `ts` (not `typescript`) as the code-fence language tag for TypeScript snippets. This is the consistent convention across all framework guides (nextjs, sequin, prisma, remix, drizzle, etc.).
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task()` from `trigger.dev/sdk` for basic task definitions with `id` and `run` properties
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-02T12:43:37.906Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/core/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:37.906Z
Learning: Exercise caution with changes to trigger.dev/core as they affect both the customer-facing SDK and server-side webapp - breaking changes can impact deployed user tasks and the platform simultaneously
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-02T12:43:34.140Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: packages/cli-v3/CLAUDE.md:0-0
Timestamp: 2026-03-02T12:43:34.140Z
Learning: Keep SDK documentation in `rules/` and `.claude/skills/trigger-dev-tasks/` synchronized when features are added or changed
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use lifecycle hooks (`init`, `cleanup`, `onStart`, `onSuccess`, `onFailure`, `handleError`) to manage task execution stages
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.trigger()` to trigger a single run of a task from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.triggerAndWait()` to trigger a task and wait for its result from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.batchTrigger()` to trigger multiple runs of a task from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `batch.triggerByTaskAndWait()` to batch trigger multiple tasks by instance and wait for results
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `task.batchTriggerAndWait()` to batch trigger a task and wait for all results from inside another task
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `schedules.task()` for scheduled (cron) tasks with either declarative cron patterns or imperative schedule creation
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to trigger.config.ts : Define global lifecycle hooks (`onStart`, `onSuccess`, `onFailure`) in `trigger.config.ts` to apply to all tasks
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-25T15:29:25.853Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2026-03-25T15:29:25.853Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `schemaTask()` from `trigger.dev/sdk` with a Zod schema for payload validation
Applied to files:
docs/migration-n8n.mdx
📚 Learning: 2026-03-10T12:44:14.176Z
Learnt from: nicktrn
Repo: triggerdotdev/trigger.dev PR: 3200
File: docs/config/config-file.mdx:353-368
Timestamp: 2026-03-10T12:44:14.176Z
Learning: In the trigger.dev repo, docs PRs are often companions to implementation PRs. When reviewing docs PRs (MDX files under docs/), check the PR description for any companion/related PR references and verify that the documented features exist in those companion PRs before flagging missing implementations. This ensures docs stay in sync with code changes across related PRs.
Applied to files:
docs/migration-n8n.mdx
🪛 LanguageTool
docs/migration-n8n.mdx
[grammar] ~277-~277: Use a hyphen to join words.
Context: ...ding workflow Here's how a typical back office onboarding workflow translates fr...
(QB_NEW_EN_HYPHEN)
🔇 Additional comments (1)
docs/migration-n8n.mdx (1)
81-81:⚠️ Potential issue | 🟡 MinorCode-fence language tags should follow the documented convention in this review context.
This page uses
tsfences; the provided guideline fordocs/**/*.mdxrequirestypescript(withbash/jsonas applicable). Please normalize these fences for consistency with the configured rule set.As per coding guidelines, "
docs/**/*.mdx: Use language tags in code fences:typescript,bash,json."Also applies to: 96-96, 120-120, 141-141, 160-160, 189-189, 225-225, 246-246, 283-283, 332-332
⛔ Skipped due to learnings
Learnt from: isshaddad Repo: triggerdotdev/trigger.dev PR: 3262 File: docs/guides/frameworks/nango.mdx:71-71 Timestamp: 2026-03-25T00:18:26.339Z Learning: Applies to docs/guides/frameworks/**/*.mdx : The trigger.dev docs repo uses `ts` (not `typescript`) as the code-fence language tag for TypeScript snippets. This is the consistent convention across all framework guides (nextjs, sequin, prisma, remix, drizzle, etc.).Learnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: docs/CLAUDE.md:0-0 Timestamp: 2026-03-02T12:43:02.539Z Learning: Applies to docs/**/*.mdx : Code examples must be complete and runnable where possibleLearnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: docs/CLAUDE.md:0-0 Timestamp: 2026-03-02T12:43:02.539Z Learning: Applies to docs/**/*.mdx : Use Mintlify components for structured content: <Note>, <Warning>, <Info>, <Tip>, <CodeGroup>, <Expandable>, <Steps>/<Step>, <Card>/<CardGroup>Learnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: docs/CLAUDE.md:0-0 Timestamp: 2026-03-02T12:43:02.539Z Learning: Applies to docs/**/*.mdx : MDX documentation pages must include frontmatter with title (required), description (required), and sidebarTitle (optional) in YAML formatLearnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: AGENTS.md:0-0 Timestamp: 2026-01-15T10:48:02.687Z Learning: Applies to **/*.{js,ts,jsx,tsx,json,md,yaml,yml} : Format code using Prettier before committingLearnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: apps/webapp/CLAUDE.md:0-0 Timestamp: 2026-03-30T22:25:33.092Z Learning: Applies to apps/webapp/**/*.{ts,tsx,js,jsx} : Use named constants for sentinel/placeholder values instead of raw string literals scattered across comparisonsLearnt from: CR Repo: triggerdotdev/trigger.dev PR: 0 File: .cursor/rules/webapp.mdc:0-0 Timestamp: 2025-11-27T16:26:58.661Z Learning: Applies to apps/webapp/**/*.{ts,tsx} : Follow the Remix 2.1.0 and Express server conventions when updating the main trigger.dev webapp
Adds a migration reference for users moving from n8n to Trigger.dev. Includes a concept map, four common patterns covering the migration-specific gaps, and a full customer onboarding example. The onboarding workflow highlights the 3-day wait pattern, an area where n8n's execution model has known reliability issues at production scale that Trigger.dev handles natively