Contribute to docs.zapier.com
The end-to-end workflow for changing content inpublic-api-docs (a Mintlify site). Use this for any structural change. Apply the foundational skills while you write: writing-standards-dev-docs, accessibility-inclusivity, formatting-guidelines, code-examples, glossary-terminology, and dev-doc-types.
For the content-authoring workflow, pair this with create-new-dev-docs (drafting a new page) or update-existing-dev-docs (editing an existing one), and finish with review-before-done. This skill owns the repo mechanics those workflows hand off to.
When to use
- Adding a new page or section
- Editing or restructuring existing pages
- Moving, renaming, consolidating, or removing pages
- Deprecating a feature, API, or surface
- Onboarding a new contributor
1. Set up locally
Ifpnpm ifails because of a brokenasdfshim, bypass it by calling the full Node binary path fornpm i -g pnpmandpnpm install. Request GitLab access to thezapier/public-apigroup if you do not have it.
2. Create a page
- Create the
.mdxfile in the right product folder (e.g.white-label/trigger-inbox/my-new-page.mdx). - Choose the page type and follow its schema — see dev-doc-types.
- Add frontmatter (
title,description, andsidebarTitleif the H1 is long). - Register it in
docs.json— a page does not appear in the sidebar until it is listed. Add the path (no.mdx) to the correctpagesarray. Position sets the sidebar order.
group object nested inside another group’s pages array. A new top-level area is a new tab.
3. Move, rename, consolidate, or remove a page
Any change to a URL needs a redirect so existing links and search results keep working. Redirects live in the top-levelredirects array in docs.json:
- Move or rename the
.mdxfile. - Update its entry in
docs.jsonpages. - Add a
redirectsentry from the old path to the new one (for a consolidation, redirect the removed page to the survivor). - Update internal links that pointed at the old path.
- Update the committed
llms.txt.
4. llms.txt
The committed rootllms.txt is hand-curated. Update it when you add, rename, move, or remove a page or section. Routine text edits do not need an llms.txt change. Mintlify’s hosted /llms.txt and per-page .md URLs are auto-generated from docs.json — leave those alone.
5. Do not hand-edit generated content
API reference pages,snippets/sdk/*, the integration checks reference, and news.mdx are generated. Change the source and regenerate. See generated-content-safety.
SDK section: The sdk/ docs have a specific generated-content pipeline (sync-sdk-docs.ts) that syncs code examples from src/sdk/snippets/ and API reference tables from the SDK package READMEs. For the full source→output map and regeneration commands, see sdk-content-pipeline.
6. Deprecate a feature or page
Use this when a feature, API, or surface is being retired but must stay live during a transition period (for example, AI Actions being replaced by MCP). Deprecate vs. remove immediately:- Deprecate if users still depend on the page or a migration path is needed.
- Remove immediately (and redirect) only if the feature is already gone and no migration content is needed.
Add a deprecation notice
Place a<Warning> callout as the very first thing after the frontmatter, before any other content:
Write a migration guide
Either add a## Migrate to [successor] section on the same page (for a short migration) or create a standalone how-to page using the template-how-to error-handling variant. Link from the <Warning> callout.
Update llms.txt
Annotate the entry with [deprecated] and add the successor URL:
When the page is eventually removed
Follow the standard redirect workflow in section 3: move/delete the file, add aredirects entry to docs.json, and remove the llms.txt entry.
7. Structural-change checklist
Run this whenever a change affects URLs or structure:-
.mdxfile created/moved/renamed in the right folder -
docs.jsonpagesupdated (nestedgroupadded for a new sub-section) -
README.mdupdated if adding a new top-level product folder (update the tree diagram and Content organization table) -
redirectsentry added for any old → new URL change - Internal links to the old path updated
- Committed
llms.txtupdated - Local preview checked (
pnpm run dev) - Broken-link check run (
pnpx mintlify broken-links)
8. Quality checks before a merge request
9. Open a merge request
- Open an MR from your branch in GitLab.
- GitLab generates a preview environment — add the preview link to the MR description.
- Approval is not strictly required to merge a
public-api-docsMR; request a review when you want a proofread or technical-accuracy check. - After merge, docs deploy to production automatically.