Skip to content

PRDCT-695: add help pages for 8 connectors that have none - #1183

Merged
Iamfle4ka merged 11 commits into
keboola:mainfrom
Iamfle4ka:PRDCT-695-component-pages
Oct 14, 2026
Merged

Iamfle4ka merged 11 commits into
keboola:mainfrom
Iamfle4ka:PRDCT-695-component-pages

Conversation

@Iamfle4ka

@Iamfle4ka Iamfle4ka commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Jiří Soukup (@Jiri-Soukup) found eight connectors with no page on help.keboola.com while auditing component links in the developer portal on 12 Oct. Their documentationUrl points at private GitHub READMEs, so the Documentation link in the UI is dead for customers. This PR gives each one a reference page. Linear: PRDCT-695.

The pages

Component Page
kds-team.ex-mixpanel components/extractors/marketing-sales/mixpanel/
keboola.ex-langsmith-traces components/extractors/other/langsmith-traces/
keboola.ex-mpohoda components/extractors/erp/mpohoda/
keboola.ex-pohoda-mserver components/extractors/erp/pohoda-mserver/
keboola.ex-suiteprojects-pro components/extractors/erp/suiteprojects-pro/
keboola.ukg-hr components/extractors/other/ukg-hr/
keboola.wr-mpohoda components/writers/erp/mpohoda/
keboola.wr-pohoda-mserver components/writers/erp/pohoda-mserver/
  • Each page has the same shape: lede, beta or experimental callout, Prerequisites, Connection, Row configuration, Output, and Limits last. The four POHODA pages link their counterparts.
  • New category: writers/erp with its index and a nav group between Database and Storage, for the two POHODA destination connectors. The writers hub lists it too.
  • Nav entries for all eight, plus lines in the erp, marketing-sales and other extractor indexes. search_keywords carry the names people search for (OpenAir, HRSD, Stormware).

Where the facts come from

Only each component's own registry copy (/v2/storage: longDescription, configurationDescription, config and row schema), run through the component-copy skill's facts script first. Where the owner's prose and the schema disagree, the schema wins:

  • the POHODA mServer extractor's prose lists a "Column Overrides" field that the row schema does not have, so the page leaves it out;
  • the mPOHODA prose puts Page size at the connection level, the schema has it per row;
  • the MixPanel prose says the table is "not loaded incrementally", the schema has a Load type with incremental.

Screenshots

Each page shows the connection form and, for row-based connectors, the row form, captured from the product UI with empty sample configurations (deleted afterwards) and cropped to the form card.

Two variants on existing pages (Jiří's second ask)

  • components/extractors/other/azure-cost/: new section on the Azure Cost Management Service Principal connector (keboola.ex-azure-cost-management-sp): when to use it, the Subscription ID, Tenant ID, Username and Password fields from its schema, Username and Password being the application (client) ID and client secret. The Azure role the principal needs is a VERIFY(Jiří Soukup).
  • components/extractors/database/bigquery/: new paragraph on the Google BigQuery avro files variant, written from Jiří's summary of the developer-portal description, because that component is in no stack's /v2/storage on 12 Oct. Its name, id and one-query-one-file behaviour are a VERIFY(Jiří Soukup).

Open question

  • LangSmith: the names and primary keys of the two output tables are nowhere in the registry copy (it is a placeholder) or the README (older than the deployed schema). The page says "two tables, runs and feedback" and carries a VERIFY(Jiří Soukup) comment that the build strips. @Jiri-Soukup, do you know them, or who owns keboola-rnd/langsmith-trace-extractor?

Not in this PR

Repointing each component's documentationUrl to its new page is a change in the component repos (PRDCT-650); the portal picks it up on the next semver tag.

Checks

npm run build clean (383 pages); link and redirect check 0 blockers; audit-phase2 0 broken links, 0 missing images; Diátaxis script and agent PASS on all nine pages; fact-checker no CRITICAL findings, its MAJOR and MINOR items fixed; checker agent PASS. Preview checked for the sidebar group and table wrapping.

🤖 Generated with Claude Code

Nikita and others added 3 commits October 12, 2026 14:44
Jiří Soukup's ask (12.10): MixPanel, LangSmith Traces, mPOHODA (source and
destination), POHODA mServer (source and destination), UKG HR and SuiteProjects
Pro had no page on help.keboola.com and their documentationUrl points at
private READMEs. One reference page per component, built from each
component's registry copy and config schema; a new writers/erp category with
its index; nav entries and category index lines.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Type markers after the ledes, search keywords for the names readers use
(OpenAir, HRSD, Stormware), counterpart links on the four POHODA pages, the
mPOHODA agenda list matched to the schema enum, SuiteProjects load type and
custom-field labels taken from the schema, limits moved to the end of
reference pages, and the new writers/erp index says which POHODA connector
fits which setup.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Bare links in the ERP indexes to match their neighbours, Lookback and date
window formats on the SuiteProjects Pro page, and a Limits section on UKG HR.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 12, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Keboola Engineering Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
connection-docs Ready Ready Preview Oct 13, 2026 11:57am UTC

Request Review

The first fork deployment errored seconds after it was authorized; the branch
builds clean from a fresh clone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Iamfle4ka
Iamfle4ka marked this pull request as ready for review October 12, 2026 14:29

@keboola-pr-reviewer-bot keboola-pr-reviewer-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: needs_human (risk 3/5) · profile connection-docs

Needs human: an unresolved VERIFY marker on an added line blocks auto-approve under content gate 3.

Concerns:

  • src/content/docs/components/extractors/other/langsmith-traces/index.md: Unresolved VERIFY(Jiří Soukup) on added line 54; output table names/PKs unverified.
  • src/content/docs/components/extractors/marketing-sales/mixpanel/index.md: Casing drift: 'MixPanel' and 'Mixpanel' both used for same product.

Suggested reviewers: @keboola/docs

Connection and row forms of each connector, captured from the product UI
with empty sample configurations (deleted afterwards), cropped to the form
card, no account details in frame. SuiteProjects Pro names the Load date
fields button the shot shows.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Nikita and others added 2 commits October 12, 2026 18:42
Jiří's second ask (12 Oct): Azure Cost Management gets a section on the
Service Principal connector (Tenant ID, Username, Password from the schema;
the Azure role is left to verify), Google BigQuery gets a paragraph on the
Avro files variant written from his summary, since that component is in no
stack registry yet. Both pages gain a description.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Jiri-Soukup

Copy link
Copy Markdown

Thanks, the pages look good. I checked the fields on all ten pages against the component schemas, and the Azure, BigQuery and LangSmith parts against the source code. Answers to the three VERIFY markers:

1. Azure Cost Management Service Principal: Azure role

  • Microsoft's Assign access to Cost Management data says that access to a subscription "requires at least the Cost Management Reader (or Contributor) permission".
  • But it's unclear whether that role is enough for this connector:
    • the connector calls the Cost Management Query API with a POST,
    • the role definition lists only Microsoft.CostManagement/*/read,
    • the API reference doesn't say which permission the call needs.
  • I couldn't test it, so I'd keep the general wording ("read access to Cost Management for the subscription") and keep the VERIFY until someone runs the connector with a service principal that has only Cost Management Reader.
  • The rest of the section is correct: the connector uses the OAuth client credentials flow, with Username as the client ID and Password as the client secret.

2. Google BigQuery avro files: name, id, one query = one file

  • The name Google BigQuery avro files and the id keboola.ex-google-bigquery-v2-avro-files match the developer portal.
  • One query produces one file: the Avro variant exports to a single destination file with no wildcard, unlike the CSV unload.
  • Because of that, please drop "Use it for results too large for a table". BigQuery "can export up to 1 GB of logical data size to a single file", and anything larger needs a wildcard (Export table data). A large result would fail with this connector, not work better.
  • I can confirm the component isn't listed in /v2/storage on the five stacks I checked: US, EU, Azure North Europe, GCP Europe West 3 and GCP US East 4. It may be worth asking whether it should be documented at all, or hidden or deprecated instead.

3. LangSmith Traces: output tables

  • The deployed version (0.2.0) writes two incremental tables:
    • runs, primary key id
    • langsmith_feedback, primary keys id and run_id
  • So "two tables, runs and feedback" is right. You can use these names and keys and drop the VERIFY.
  • The repository the developer portal links to is an older prototype, not the code that's deployed, so its README doesn't match the current output.

@Jiri-Soukup Jiri-Soukup left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I read all eight new pages and the two changed ones in full, and checked every field, default, enum and limit against the component schemas. They match, and the screenshots contain no data. One change is needed before merge, plus three smaller points.

Needs a change

  1. BigQuery avro files (components/extractors/database/bigquery/): please drop "Use it for results too large for a table". The Avro variant exports each result to a single file, and BigQuery can write at most 1 GB to a single file, so large results fail rather than work better. Details in my comment above.

Please also update

  1. LangSmith Traces, Output: the deployed version writes runs (primary key id) and langsmith_feedback (primary keys id and run_id), both incremental. You can name them and drop the VERIFY.
  2. Azure Cost Management Service Principal: keep the general "read access to Cost Management" wording and the VERIFY, as explained in my comment.

Suggestions, not blocking

  1. POHODA mServer (both pages): the Prerequisites ask for an mServer reachable from Keboola over plain HTTP, so credentials and data travel unencrypted. Consider adding a line recommending that access be limited to Keboola's IP addresses, or that mServer sit behind a VPN.
  2. MixPanel: the page says "name-value-pair table" in the intro and "key-value pair table" under Raw data export. Pick one term.

I'll approve once 1–3 are in.

- BigQuery avro files: name the connector id, drop "for results too large
  for a table", and state the 1 GB single-file export limit instead.
- LangSmith Traces: name the output tables (runs, langsmith_feedback) with
  their primary keys; VERIFY resolved by the reviewer.
- Azure Service Principal: keep the general read-access wording, VERIFY text
  updated with what the reviewer found.
- POHODA mServer (both): recommend allowing only Keboola's IP addresses or a
  VPN, since mServer speaks plain HTTP.
- MixPanel: one term, "name-value pair table".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Iamfle4ka

Copy link
Copy Markdown
Collaborator Author

Thanks for going through all ten pages. Everything is in e3244ad:

  1. BigQuery avro files: the "results too large for a table" line is gone. The paragraph names keboola.ex-google-bigquery-v2-avro-files and states the 1 GB single-file export limit. It also says the main connector unloads through a wildcard into several files, so the limit doesn't apply to it.
  2. LangSmith Traces: Output lists runs (id) and langsmith_feedback (id, run_id), both incremental. The VERIFY is removed.
  3. Azure Service Principal: the general "read access to Cost Management" wording and the VERIFY stay. The VERIFY now records what you found about the Reader role and the POST to the Query API.
  4. POHODA mServer, both pages: Prerequisites say credentials and data travel unencrypted over plain HTTP, and recommend allowing only Keboola's IP addresses or putting mServer behind a VPN.
  5. MixPanel: "name-value pair table" on the whole page.

About whether the Avro variant should be documented at all, since it isn't in /v2/storage on any of the five stacks: I'll ask the product side. If the answer is no, I'll drop the paragraph.

- mPOHODA writer: the row form has no table input mapping (the component
  lacks genericDockerUI-tableInput, checked live), so the page no longer tells
  readers to fill one; a caution says so and a VERIFY asks for the flag.
- BigQuery: description moved next to title, so a merge with keboola#993 conflicts
  instead of leaving two description keys; page typed How-to.
- POHODA mServer (both): example URL is a reachable host, not 192.168.x.x;
  the VPN suggestion is dropped because the connector has no tunnel and a
  VPN-only mServer is unreachable.
- MixPanel: VERIFY asks which primary key incremental load uses.
- Azure: page typed How-to, OAuth variant named as in the catalogue, the
  unsourced "keeps working when that person leaves" removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Iamfle4ka
Iamfle4ka merged commit 7f313e2 into keboola:main Oct 14, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants