Skip to content
Development
Skill

/migrating-from-fivetran

Move a user's Fivetran connectors into PostHog data warehouse sources. Use when the user says "migrate from Fivetran", "import my Fivetran setup", "replace Fivetran with PostHog", or asks what of their Fivetran account PostHog can take over. Reads the Fivetran account with a

From plugin
posthog
100188 skills1 agent3 commands3 hooks
+1

Claude Code

$ npx -y skills add PostHog/ai-plugin --skill migrating-from-fivetran --agent claude-code

SKILL.md

migrating-from-fivetran.SKILL.md
name: migrating-from-fivetran
description: >
  Move a user's Fivetran connectors into PostHog data warehouse sources. Use when the user says "migrate from
  Fivetran", "import my Fivetran setup", "replace Fivetran with PostHog", or asks what of their Fivetran account
  PostHog can take over. Reads the Fivetran account with a read-only key or through the user's Fivetran MCP server,
  reports which connections move as they are, which move with caveats, and which PostHog cannot take yet, then
  creates the PostHog sources one at a time while the user enters only the secrets.

Migrating from Fivetran

PostHog can read a Fivetran account and plan one PostHog source per Fivetran connection: the tables, the sync schedule, the table prefix, and the destination. It cannot copy secrets. Fivetran never returns passwords, API keys, or OAuth tokens to anyone, so the user re-enters one credential per connection. Say this early, so the user is not surprised halfway through.

Tools

| Tool | Purpose | | ---------------------------------------- | ------------------------------------------------------------------------------------------------ | | `warehouse-migration-connect-link` | Link where the user enters a read-only Fivetran API key in PostHog | | `warehouse-migrations-list` | Find the migration the user just started, newest first | | `warehouse-migration-get` | Status of the read, and counts per verdict | | `warehouse-migration-items-list` | One item per Fivetran connection: verdict, caveats, and the planned source type | | `data-warehouse-source-connect-link` | Link where the user enters the secret for one item; pass `migration_item_id` to prefill the rest | | `data-warehouse-stored-credentials-list` | Find the credential the user just stored | | `warehouse-migration-item-apply` | Create the planned source from an item and a stored credential | | `warehouse-migration-item-skip` | Mark an item the user does not want to move | | `warehouse-migration-items-skip` | Skip many items at once, or all but the ones to keep (`keep_item_ids`) | | `warehouse-migration-refresh` | Read the Fivetran account again after the user changes it | | `warehouse-migration-start-upload` | Start a migration that you fill from the user's Fivetran MCP, with no key in PostHog | | `warehouse-migration-upload-connections` | Send the Fivetran MCP responses, unchanged, to that migration |

Never ask the user to paste a Fivetran key or any source secret into the chat. Every secret goes through a link.

The connector notes (`references/connector-notes.md`) explain how PostHog matches Fivetran tables and hold a note for each connector that differs. Read them before the report.

Workflow

If `warehouse-migration-connect-link` is not among your tools, importing from Fivetran is not available for this project yet. Tell the user that and stop.

1. **Start the read.** Check whether a Fivetran MCP server is connected: look for tools from a Fivetran server that read connections, groups and destinations (for example `connections_read`). If none is connected, use the API key link. If one is connected, offer both ways and let the user choose:

  • **API key (recommended for larger accounts).** PostHog reads Fivetran directly, so the read uses no chat tokens.
  • **Their Fivetran MCP.** The user stays in the chat, and the Fivetran key never reaches PostHog. Warn them first:

every connection's settings and table list passes through this chat twice. You read it from Fivetran, then write it out again for PostHog, and writing it out is the slow and expensive part. An account with many connections or long table lists costs a lot of tokens and time.

**API key link.** Get a link with `warehouse-migration-connect-link` and share it. Tell the user to create a read-only key in Fivetran: a system key with read access to connections, destinations, and the account works best. When they confirm, find the newest migration with `warehouse-migrations-list` and poll `warehouse-migration-get` until `status` is `ready`. A large account takes a few minutes. If it is `failed`, read `latest_error` to the user.

**Fivetran MCP.**

  • Call only Fivetran read tools. Never call a Fivetran tool that creates, changes, pauses, syncs or deletes

anything. Recommend that the Fivetran MCP uses a read-only system key.

  • Start a migration with `warehouse-migration-start-upload`.
  • Read the account info, the groups, and each group's destination. On every list read, follow `next_cursor` until

it is empty, or connections go missing without an error. Skip a group that has no destination. Send the account and the destinations with `warehouse-migration-upload-connections` before any connection, so PostHog reads each sync time in its destination's time zone. One call takes at most 100 destinations, so send more in several calls with no connections.

  • List the connections. For each one, read its details and its schema config, and send `schema_config: null` when

Fivetran has none. You write every upload out in full, so keep each call small: a few connections and under about 50 KB of JSON. Send a connection with a long table list alone. If one connection is much larger than that, recommend the API key for the account.

  • Upload the first connection alone. If PostHog says a field is missi
Read more
@posthog
Ships withposthog

Official PostHog plugin for AI clients. Access PostHog products directly from your AI coding tool.

100188 skills1 agent1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
100
Star history of PostHog/ai-plugin on GitHub, a chart by star-history.com

Other skills on posthog.

analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

@posthog@posthogInstall Skill
analyzing-expensive-users

analyzing-expensive-us…

Analyze the most expensive users in AI observability and explain why they cost so much. Use when the user asks about top…

@posthog@posthogInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about migrating-from-fivetran.

Which coding agents can use migrating-from-fivetran?
migrating-from-fivetran installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.