Skip to content

TOF-440: Split warehouse connectors into per-connector pages - #173

Open
tylergoerzen-mxp with Copilot wants to merge 7 commits into
mainfrom
copilot/tof-440-split-warehouse-connectors
Open

TOF-440: Split warehouse connectors into per-connector pages#173
tylergoerzen-mxp with Copilot wants to merge 7 commits into
mainfrom
copilot/tof-440-split-warehouse-connectors

Conversation

Copilot AI commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Splits warehouse-connectors.mdx (918 lines, five connectors inside <Tab> components on one URL) into an overview plus one page per connector.

Fixes: https://linear.app/mixpanel/issue/TOF-440/aeo-qw3-split-warehouse-connectors-into-per-connector-pages

Why this matters for AEO

The content was already deep and good. It just had nowhere to be cited from.

Answer engines retrieve passages but cite URLs. A query like "mixpanel postgres connector" or "connect snowflake to mixpanel" had no dedicated page to rank or be cited — the answer existed, buried in a tab on a URL titled "Warehouse Connectors." Tab content also sits behind a click, and no non-Google AI crawler executes JavaScript.

Two supporting reasons this one is worth doing:

  • The pattern already exists on the other side of the product. Data Pipelines has per-destination pages under /docs/data-pipelines/integrations/. Import connectors were the inconsistent half.
  • Postgres is an open lane. Amplitude has no Postgres connector documentation at all, so there is no incumbent to displace for that query.

Title-to-query similarity is the largest single citation predictor measured (0.602 for cited vs 0.484 for non-cited, Ahrefs 1.4M-prompt study). Five pages titled for their warehouse beat one titled for the category.

Structure

  • warehouse-connectors.mdx — overview, CardGroup to each connector, retains all shared content (Table Types, Sync Modes incl. the billing-cost column, Sync Frequency, FAQ, Billing FAQ)
  • bigquery, snowflake, databricks, redshift, postgres — connection setup and Mirror behavior per warehouse (Postgres does not support Mirror)

No URL was removed. /docs/tracking-methods/warehouse-connectors still resolves, as the overview.

Content restored and corrected during review

  • Databricks setup video was lost in the split. The original had four connector videos; only three survived. Re-added Fr-isqO1w2s.
  • Plan gating and the role prerequisite were left on the hub only. Anyone landing on a connector page from search saw setup steps with no mention that Warehouse Connectors is a paid add-on requiring an admin or owner role. Both notes now appear on all five pages.
  • Duplicate sidebar entry — the nav group set the hub as root and also listed it in pages, rendering the overview twice.

Broken SQL fixed on the Snowflake page

Four defects, each of which fails on copy-paste:

  • CREATE USER ... DEFAULT_ROLE=MIXPANEL_IMPORT_ROLE referenced a role the block never creates (it creates MIXPANEL_ROLE)
  • Comments used #, which Snowflake does not support — so WAREHOUSE_SIZE = XSMALL # consider increasing was a syntax error, not a comment
  • GRANT USAGE/MONITOR ON MIXPANEL_WAREHOUSE omitted the required WAREHOUSE object-type keyword
  • The storage-integration grant used TO MIXPANEL_ROLE where every sibling uses TO ROLE

Blocks are now tagged sql rather than jsx.

Postgres additions

Rec #2 asked for both and the original split carried neither:

  • A commented, copy-pasteable SQL block creating a read-only role with CONNECT, USAGE, SELECT, plus ALTER DEFAULT PRIVILEGES so tables added later still sync. Missing USAGE on the schema is the failure mode where the connector authenticates but sees no tables.
  • An SSL mode table stating the actual tradeoff: verify-ca skips the hostname check, so it accepts any server holding a certificate from a trusted CA.

Verification

Section-by-section accounting against the original: every heading, table row, warning, code sample, and image is present in exactly one new page. All 11 inbound anchors against the hub still resolve. No redirects needed — nothing was renamed.

@linear-code

linear-code Bot commented Aug 18, 2026

Copy link
Copy Markdown

TOF-440

Co-authored-by: tylergoerzen-mxp <259741734+tylergoerzen-mxp@users.noreply.github.com>
@mintlify

mintlify Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
mixpanel-docs 🟢 Ready View Preview Aug 18, 2026, 7:08 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Co-authored-by: tylergoerzen-mxp <259741734+tylergoerzen-mxp@users.noreply.github.com>
Copilot AI changed the title [WIP] Split warehouse connectors into per-connector pages TOF-440: Split warehouse connectors into per-connector pages Aug 18, 2026
Copilot AI requested a review from tylergoerzen-mxp August 18, 2026 19:06
@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 4/5

The PR is not yet safe to merge because the Postgres future-table grant still fails for tables created by roles other than the one executing the documented command.

The Postgres instructions continue to promise future-table access without configuring default privileges for each actual table-owner role, leaving newly created tables unreadable by the connector.

Files Needing Attention: docs/tracking-methods/warehouse-connectors/postgres.mdx

Important Files Changed

Filename Overview
docs.json Replaces the single warehouse connector navigation entry with a rooted group containing five connector pages.
docs/tracking-methods/warehouse-connectors.mdx Converts the monolithic connector tabs into an overview linking to dedicated pages while retaining shared concepts and FAQs.
docs/tracking-methods/warehouse-connectors/postgres.mdx Adds dedicated Postgres setup, permissions, SSL, networking, and sync-support documentation.
docs/tracking-methods/warehouse-connectors/bigquery.mdx Adds dedicated BigQuery connection and Mirror-mode documentation.
docs/tracking-methods/warehouse-connectors/snowflake.mdx Adds dedicated Snowflake connection and Streams-based Mirror documentation.
docs/tracking-methods/warehouse-connectors/databricks.mdx Adds dedicated Databricks authentication, compute, permissions, and Change Data Feed documentation.
docs/tracking-methods/warehouse-connectors/redshift.mdx Adds dedicated Redshift setup and snapshot-based Mirror documentation.

Reviews (6): Last reviewed commit: "Merge branch 'main' into copilot/tof-440..." | Re-trigger Greptile

Comment thread docs/tracking-methods/warehouse-connectors/postgres.mdx
Comment thread docs/tracking-methods/warehouse-connectors/postgres.mdx Outdated
- Re-add the Databricks setup video (Fr-isqO1w2s). The other three
  connector videos survived the split; this one was dropped.
- Repeat the paid-add-on and admin/owner-role notes on each connector
  page. They only remained on the hub, so anyone landing on a connector
  page from search saw setup steps with no mention of gating.
- Drop the duplicate nav entry: the group already links its root, so
  listing the overview in pages rendered it twice in the sidebar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rec #2 step 4 asked for both and the split carried neither over.

- Add a commented, copy-pasteable SQL block creating a read-only role
  with CONNECT, USAGE, and SELECT, plus ALTER DEFAULT PRIVILEGES so
  tables added later still sync. Missing USAGE on the schema is the
  failure mode where the connector authenticates but sees no tables.
- Replace the two-line SSL description with a table showing what
  verify-full and verify-ca each verify, and state the actual tradeoff:
  verify-ca skips the hostname check, so it accepts any server holding a
  certificate from a trusted CA.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comment thread docs/tracking-methods/warehouse-connectors/postgres.mdx
Four defects in the setup examples, all of which fail on copy-paste:

- The key-pair CREATE USER assigned DEFAULT_ROLE=MIXPANEL_IMPORT_ROLE,
  a role the block never creates. Only MIXPANEL_ROLE exists.
- Comments used '#', which Snowflake does not support. Snowflake accepts
  '--' and '/* */', so "WAREHOUSE_SIZE = XSMALL # consider increasing"
  was a syntax error rather than a comment.
- GRANT USAGE/MONITOR ON MIXPANEL_WAREHOUSE omitted the required
  WAREHOUSE object-type keyword.
- The storage-integration grant used "TO MIXPANEL_ROLE" while every
  other grant on the page uses "TO ROLE"; made it consistent.

Also tag the five SQL blocks as sql rather than jsx.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants