You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(self-driving): sync only the actionable table for credential sources
Switch the credential connector from data-warehouse-source-setup (which
enables every discoverable table) to external-data-sources-create with an
explicit single-table schema, matching the Linear connector. Credential
inbox sources now sync just their actionable table (tickets/issues) via the
stored credential. Depends on the posthog create endpoint accepting a
credential_id; degrades to the dormant fallback on older backends.
Copy file name to clipboardExpand all lines: context/skills/self-driving/references/5-connected-tools.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ Emit:
24
24
25
25
## Tools
26
26
27
-
Load `wizard_ask` via `ToolSearch select:mcp__wizard-tools__wizard_ask`. Reach `external-data-sources-list` through the PostHog `exec` tool (`info` then `call`); the source-config tools from step 4 are reached the same way. The credential connector (`5c-credentials.md`) additionally uses `data-warehouse-source-connect-link`, `data-warehouse-stored-credentials-list`, and `data-warehouse-source-setup` through the same `exec` tool.
27
+
Load `wizard_ask` via `ToolSearch select:mcp__wizard-tools__wizard_ask`. Reach `external-data-sources-list` through the PostHog `exec` tool (`info` then `call`); the source-config tools from step 4 are reached the same way. The credential connector (`5c-credentials.md`) additionally uses `data-warehouse-source-connect-link`, `data-warehouse-stored-credentials-list`, and `external-data-sources-create` through the same `exec` tool.
Copy file name to clipboardExpand all lines: context/skills/self-driving/references/5c-credentials.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,17 @@ Emit (substitute the tool name):
14
14
15
15
## Tools
16
16
17
-
Reach all three through the PostHog `exec` tool (`info` then `call`): `data-warehouse-source-connect-link`, `data-warehouse-stored-credentials-list`, `data-warehouse-source-setup`.
17
+
Reach all three through the PostHog `exec` tool (`info` then `call`): `data-warehouse-source-connect-link`, `data-warehouse-stored-credentials-list`, `external-data-sources-create`.
18
18
19
-
`<Type>` below is the capitalized data-warehouse source type: `Zendesk`, `PgAnalyze`, `Jira` (the same string `external-data-sources-list` reports). The connect page renders the right credential form for that kind on its own.
19
+
`<Type>` below is the capitalized data-warehouse source type, and `<table>` is the **one** actionable table its responder reads (sync only that one, like the Linear connector — not every table the source has):
20
+
21
+
| Tool |`<Type>`|`<table>`|
22
+
| --------- | ----------- | ---------- |
23
+
| Zendesk |`Zendesk`|`tickets`|
24
+
| pganalyze |`PgAnalyze`|`issues`|
25
+
| Jira |`Jira`|`issues`|
26
+
27
+
The connect page renders the right credential form for that kind on its own.
20
28
21
29
## Do
22
30
@@ -43,18 +51,21 @@ Reach all three through the PostHog `exec` tool (`info` then `call`): `data-ware
43
51
-**Credential present** → create the source (below).
44
52
-**None present** (the user didn't actually store anything, or it expired) → **don't re-ask or wait** — record "picked but not connected" and return to step 5 (the dormant responder + follow-up cover it; the user can finish the connect page later). This run never nudges.
45
53
46
-
4.**Create the source** with `data-warehouse-source-setup`, passing the stored credential by reference — never inline secrets:
54
+
4.**Create the source** with `external-data-sources-create`, passing the stored credential by reference and syncing **only** the one actionable table — never inline secrets, never every table:
`setup` validates the stored credentials, discovers the tables, and creates the source in one call. It enables **all** discoverable tables (unlike the Linear connector's single `issues` table); that's fine — the responder only reads the actionable one (tickets / issues) and the extra tables are harmless. Note in the report that all tables were enabled so the user can trim them later if they want.
66
+
`full_refresh`, not incremental: inbox records get edited and closed after they're created, so an incremental append would miss the updates (the same reason the issues connectors use it). `create` validates the stored credentials, creates the source with just that one table, and consumes the credential.
56
67
57
68
- Success returns the source `id` → record "connected by this setup (source id …, first sync started)".
58
-
- Any failure (invalid or expired credentials, validation error) → don't loop the user back through the page; record "picked but not connected" and return to step 5 (dormant responder + follow-up). A failed connect never dead-ends the run.
69
+
- Any failure (invalid or expired credentials, validation error, or a backend old enough that `create` doesn't yet accept `credential_id`) → don't loop the user back through the page; record "picked but not connected" and return to step 5 (dormant responder + follow-up). A failed connect never dead-ends the run.
59
70
60
71
Return to step 5 (responder enabling and class recording happen there).
0 commit comments