From 782f1882b06674e1199c8829ae2eee2f831f29b7 Mon Sep 17 00:00:00 2001 From: "nikita.zverev2" Date: Fri, 19 Jun 2026 14:30:58 +0000 Subject: [PATCH] docs(communication): fix inaccurate output columns, broken links, and typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audited communication extractor docs against source code. Fixes: - Add 3 missing output columns (subject, body_html, attachment_names) to email-imap and ms-outlook (matches component-email-content/src/component.py) - Fix broken query-syntax link in ms-outlook (relative → absolute path to email-imap/query-syntax/) - Fix copy-paste error in gmail: 'Google Analytics' → 'Gmail Messages' - Fix table naming in email-attachments: data1–dataN → data, data1, data2 (matches RunAction.php counter logic) - Add missing IMAP connector to communication/index.md listing - Fix trailing slash on google-calendar link - Add missing table header separators in intercom (22 tables) - Fix typos: specificly, entere, msut, matchess, XSLX Fixes PRDCT-349 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../communication/email-attachments/index.md | 2 +- .../communication/email-imap/index.md | 10 ++++----- .../communication/email-imap/query.md | 2 +- .../extractors/communication/gmail/index.md | 2 +- .../extractors/communication/index.md | 3 ++- .../communication/intercom/index.md | 22 +++++++++++++++++++ .../communication/ms-outlook/index.md | 8 +++---- 7 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/content/docs/components/extractors/communication/email-attachments/index.md b/src/content/docs/components/extractors/communication/email-attachments/index.md index 0023492f8..fe3fa229a 100644 --- a/src/content/docs/components/extractors/communication/email-attachments/index.md +++ b/src/content/docs/components/extractors/communication/email-attachments/index.md @@ -55,5 +55,5 @@ There may be a delay between the time the email is sent, received, and picked up ![Screenshot - Job Detail](/components/extractors/communication/email-attachments/email-attachments-2.png) ***Note:** When multiple valid emails are received between the data source connector runs, they are imported into separate tables -(`data1` -- `dataN`). If this is not desired, time the sending of the emails and configure the connector flow +(`data`, `data1`, `data2`, …). If this is not desired, time the sending of the emails and configure the connector flow to make sure only one email is processed at a time.* diff --git a/src/content/docs/components/extractors/communication/email-imap/index.md b/src/content/docs/components/extractors/communication/email-imap/index.md index 3b2525d0e..81d3de9dd 100644 --- a/src/content/docs/components/extractors/communication/email-imap/index.md +++ b/src/content/docs/components/extractors/communication/email-imap/index.md @@ -47,10 +47,10 @@ Check with your email provider if you need more details. ### Example Using GMAIL Account -- Enable and create an [app password](https://support.google.com/accounts/answer/185833?hl=en) specificly for this integration. Name it, for instance, `Keboola extractor`. +- Enable and create an [app password](https://support.google.com/accounts/answer/185833?hl=en) specifically for this integration. Name it, for instance, `Keboola extractor`. - Enter your email address in the `Username` field. - Enter the generated app password in the `Password` field. -- In the `IMAP host field`, entere the Gmail imap address: `imap.gmail.com`. +- In the `IMAP host field`, enter the Gmail IMAP address: `imap.gmail.com`. - Use port `993`. ## Configuration @@ -106,7 +106,7 @@ If your attachments are in CSV format, you can use this combination of processor - Set the `folder` parameter in the [first processor](https://github.com/keboola/processor-move-files) to match the resulting table name. - Use the [second processor](https://components.keboola.com/components/keboola.processor-create-manifest) to define that the result will always replace the destination table and expects header in the CSV file. -- ***Note:** In this setup, all attachments will be stored in the same table, so they msut share the same structure.* +- ***Note:** In this setup, all attachments will be stored in the same table, so they must share the same structure.* ```json { @@ -149,7 +149,7 @@ If your attachments are in CSV format, you can use this combination of processor If your attachments are in XLSX format, you can use this combination of processors to store them in Table Storage: -- The [first processor](https://components.keboola.com/components/kds-team.processor-xlsx2csv) converts each XSLX sheet into a separate table. +- The [first processor](https://components.keboola.com/components/kds-team.processor-xlsx2csv) converts each XLSX sheet into a separate table. - The [second processor](https://github.com/keboola/processor-move-files) moves the converted files for output staging to the tables folder. ```json @@ -213,7 +213,7 @@ A single table named `emails` contains the email contents. Results are inserted incrementally to avoid duplicates. -**Columns:** `'pk', 'uid', 'mail_box', 'date', 'from', 'to', 'body', 'headers', 'number_of_attachments', 'size'` +**Columns:** `'pk', 'uid', 'mail_box', 'date', 'from', 'to', 'subject', 'body', 'body_html', 'headers', 'number_of_attachments', 'size', 'attachment_names'` ### Attachments diff --git a/src/content/docs/components/extractors/communication/email-imap/query.md b/src/content/docs/components/extractors/communication/email-imap/query.md index 8cbb2964f..2a0319d0c 100644 --- a/src/content/docs/components/extractors/communication/email-imap/query.md +++ b/src/content/docs/components/extractors/communication/email-imap/query.md @@ -5,7 +5,7 @@ slug: 'components/extractors/communication/email-imap/query-syntax' To combine multiple keywords enclose the query in brackets, -e.g. the following matchess all unseen emails received from address `sender-email@example.com` with subject `the subject`: +e.g. the following matches all unseen emails received from address `sender-email@example.com` with subject `the subject`: `(FROM "sender-email@example.com" SUBJECT "the subject" UNSEEN)` ## Keywords diff --git a/src/content/docs/components/extractors/communication/gmail/index.md b/src/content/docs/components/extractors/communication/gmail/index.md index 2016c1a4d..417e62488 100644 --- a/src/content/docs/components/extractors/communication/gmail/index.md +++ b/src/content/docs/components/extractors/communication/gmail/index.md @@ -46,7 +46,7 @@ then see it in the list of enabled APIs. ![Screenshot - Google API Console - Fill Credentials](/components/extractors/communication/gmail/google_console_detail.png) 6. Click **Create** and a pop-up window will display your new client ID and client secret credentials. -7. You can now use these credentials in the **Custom Authorization** tab when authorizing the Google Analytics connector. +7. You can now use these credentials in the **Custom Authorization** tab when authorizing the Gmail Messages connector. ![Screenshot - Custom Authorization](/components/extractors/communication/gmail/custom-credentials.png) diff --git a/src/content/docs/components/extractors/communication/index.md b/src/content/docs/components/extractors/communication/index.md index ca3ede740..49465547d 100644 --- a/src/content/docs/components/extractors/communication/index.md +++ b/src/content/docs/components/extractors/communication/index.md @@ -11,7 +11,8 @@ The following data source connectors support communication systems: - [Email Attachments](/components/extractors/communication/email-attachments/) - [Gmail Messages](/components/extractors/communication/gmail/) -- [Google Calendar](/components/extractors/communication/google-calendar) +- [Google Calendar](/components/extractors/communication/google-calendar/) +- [IMAP Email Contents and Attachments](/components/extractors/communication/email-imap/) - [Intercom](/components/extractors/communication/intercom/) - [MS Outlook (Office 365)](/components/extractors/communication/ms-outlook/) - [Slack](/components/extractors/communication/slack/) diff --git a/src/content/docs/components/extractors/communication/intercom/index.md b/src/content/docs/components/extractors/communication/intercom/index.md index 6dfac4e54..a4d7121c9 100644 --- a/src/content/docs/components/extractors/communication/intercom/index.md +++ b/src/content/docs/components/extractors/communication/intercom/index.md @@ -49,6 +49,7 @@ The table `users` lists all [Users](https://developers.intercom.com/intercom-api has the following columns: | Column | Description | +| --- | --- | | `type` | Value is `user` | | `id` | The Intercom defined id representing the user | | `created_at` | The time the user was added to Intercom | @@ -84,6 +85,7 @@ has the following columns: This table records relations between `users` and `tags`. | Column | Description | +| --- | --- | | `type` | Value is `tag` | | `id` [FK] | Tag identifier (`tags.id`) | | `users_pk` [FK] | User identifier (`users.id`) | @@ -93,6 +95,7 @@ This table records relations between `users` and `tags`. This table records relations between `users` and `segments`. | Column | Description | +| --- | --- | | `type` | Value is `segment` | | `id` [FK] | Segment identifier (`segments.id`) | | `users_pk` [FK] | User identifier (`users.id`) | @@ -102,6 +105,7 @@ This table records relations between `users` and `segments`. This table records relations between `users` and `companies`. | Column | Description | +| --- | --- | | `type` | Value is `company` | | `id` [FK] | Company identifier (`companies.id`) | | `users_pk` [FK] | User identifier (`users.id`) | @@ -111,6 +115,7 @@ This table records relations between `users` and `companies`. This table lists social profiles attached to the user. | Column | Description | +| --- | --- | | `type` | Value is `social_profile` | | `id` | User ID on the service | | `name` | The name of the service (e.g., twitter, facebook) | @@ -123,6 +128,7 @@ This table lists social profiles attached to the user. This table lists all [Notes](https://developers.intercom.com/intercom-api-reference/reference#note-model). | Column | Description | +| --- | --- | | `type` | Value is `note` | | `id` [PK] | The id representing the note | | `created_at` | The time the note was created | @@ -138,6 +144,7 @@ This table lists [Event Summaries](https://developers.intercom.com/intercom-api- for each user. | Column | Description | +| --- | --- | | `user_id` [FK] | The user id | | `name` | Event name | | `count` | Event count | @@ -150,6 +157,7 @@ for each user. This table lists [Leads](https://developers.intercom.com/intercom-api-reference/reference#leads-object). | Column | Description | +| --- | --- | | `type` | Value is `contact` | | `id` | The Intercom defined id representing the Lead | | `created_at` | The time the Lead was added to Intercom | @@ -186,6 +194,7 @@ This table lists [Leads](https://developers.intercom.com/intercom-api-reference/ This table records relations between `leads` and `tags`. | Column | Description | +| --- | --- | | `type` | Value is `tag` | | `id` [FK] | Tag identifier (`tags.id`) | | `leads_pk` [FK] | Lead identifier (`leads.id`) | @@ -195,6 +204,7 @@ This table records relations between `leads` and `tags`. This table records relations between `leads` and `segments`. | Column | Description | +| --- | --- | | `type` | Value is `segment` | | `id` [FK] | Segment identifier (`segments.id`) | | `leads_pk` [FK] | Lead identifier (`leads.id`) | @@ -204,6 +214,7 @@ This table records relations between `leads` and `segments`. This table records relations between `leads` and `companies`. | Column | Description | +| --- | --- | | `type` | Value is `company` | | `id` [FK] | Company identifier (`companies.id`) | | `leads_pk` [FK] | Lead identifier (`leads.id`) | @@ -213,6 +224,7 @@ This table records relations between `leads` and `companies`. This table lists the social profiles attached to all users. | Column | Description | +| --- | --- | | `type` | Value is `social_profile` | | `id` | User ID on the service | | `name` | The name of the service (e.g., twitter, facebook) | @@ -225,6 +237,7 @@ This table lists the social profiles attached to all users. This table lists all [Companies](https://developers.intercom.com/intercom-api-reference/reference#company-model). | Column | Description | +| --- | --- | | `type` | Value is `company` | | `id` [PK] | The Intercom defined id representing the company | | `created_at` | The time the company was added to Intercom | @@ -244,6 +257,7 @@ This table lists all [Admins](https://developers.intercom.com/intercom-api-refer | Column | Description | +| --- | --- | | `type` | Value is `admin` or `team` | | `id` [PK] | The id of the admin or team | | `name` | The name of the admin or team | @@ -254,6 +268,7 @@ This table lists all [Admins](https://developers.intercom.com/intercom-api-refer This table lists all [Tags](https://developers.intercom.com/intercom-api-reference/reference#tag-model). | Column | Description | +| --- | --- | | `type` | Value is `tag` | | `id` [PK] | The id of the tag | | `name` | The name of the tag | @@ -263,6 +278,7 @@ This table lists all [Tags](https://developers.intercom.com/intercom-api-referen This table lists all [Segments](https://developers.intercom.com/intercom-api-reference/reference#segment-model). | Column | Description | +| --- | --- | | `type` | Value is `segment` | | `id` [PK] | The id representing the segment | | `name` | The name of the segment | @@ -276,6 +292,7 @@ This table lists all [Segments](https://developers.intercom.com/intercom-api-ref This table lists all [Conversations](https://developers.intercom.com/intercom-api-reference/reference#conversation-model). | Column | Description | +| --- | --- | | `type` | Value is `conversation` | | `id` [PK] | The id representing the conversation | | `created_at` | The time the conversation was created | @@ -302,6 +319,7 @@ This table lists all [Conversations](https://developers.intercom.com/intercom-ap This table lists all attachments for all conversations. | Column | Description | +| --- | --- | | `type` | Undocumented | | `name` | Undocumented | | `url` | Undocumented | @@ -316,6 +334,7 @@ This table lists all attachments for all conversations. This table lists all customers (users or leads) involved in each conversation. | Column | Description | +| --- | --- | | `type` | `user` or `conversation` (lead) | | `id` | User or Lead id | | `conversations_pk` [FK] | Conversation identifier (`conversations.id`) | @@ -325,6 +344,7 @@ This table lists all customers (users or leads) involved in each conversation. This table records relations between `conversations` and `tags`. | Column | Description | +| --- | --- | | `type` | Value is `tag` | | `id` [FK] | Tag identifier (`tags.id`) | | `conversations_pk` [FK] | Conversation identifier (`conversations.id`) | @@ -334,6 +354,7 @@ This table records relations between `conversations` and `tags`. This table lists all [Conversation parts](https://developers.intercom.com/intercom-api-reference/reference#conversation-part-model). | Column | Description | +| --- | --- | | `type` | Value is `conversation_part` | | `id` [PK] | The id representing the conversation part | | `part_type` | The type of conversation part | @@ -352,6 +373,7 @@ This table lists all [Conversation parts](https://developers.intercom.com/interc This table lists all attachments for each conversation part. | Column | Description | +| --- | --- | | `type` | Undocumented | | `name` | Undocumented | | `url` | Undocumented | diff --git a/src/content/docs/components/extractors/communication/ms-outlook/index.md b/src/content/docs/components/extractors/communication/ms-outlook/index.md index b7047777b..f60dce3d7 100644 --- a/src/content/docs/components/extractors/communication/ms-outlook/index.md +++ b/src/content/docs/components/extractors/communication/ms-outlook/index.md @@ -28,7 +28,7 @@ Click the **Add Row** button and name the row appropriately. Enter a `Search query` to filter only the emails you want. By default, all emails are downloaded. The most common use case is to filter emails by Subject and Sender, e.g., `(FROM "sender-email@example.com" SUBJECT "the subject")`. You can create more complex queries if needed; -refer to the [query syntax](query-syntax) for examples. +refer to the [query syntax](/components/extractors/communication/email-imap/query-syntax/) for examples. ![Screenshot - Row configuration](/components/extractors/communication/email-imap/row.png) @@ -64,7 +64,7 @@ If your attachments are in CSV format, you can use this combination of processor - Set the `folder` parameter in the [first processor](https://github.com/keboola/processor-move-files) to match the resulting table name. - Use the [second processor](https://components.keboola.com/components/keboola.processor-create-manifest) to define that the result will always replace the destination table and expects header in the CSV file. -- ***Note:** In this setup, all attachments will be stored in the same table, so they msut share the same structure.* +- ***Note:** In this setup, all attachments will be stored in the same table, so they must share the same structure.* ```json { @@ -107,7 +107,7 @@ If your attachments are in CSV format, you can use this combination of processor If your attachments are in XLSX format, you can use this combination of processors to store them in Table Storage: -- The [first processor](https://components.keboola.com/components/kds-team.processor-xlsx2csv) converts each XSLX sheet into a separate table. +- The [first processor](https://components.keboola.com/components/kds-team.processor-xlsx2csv) converts each XLSX sheet into a separate table. - The [second processor](https://github.com/keboola/processor-move-files) moves the converted files for output staging to the tables folder. ```json @@ -171,7 +171,7 @@ A single table named `emails` contains the email contents. Results are inserted incrementally to avoid duplicates. -**Columns:** `'pk', 'uid', 'mail_box', 'date', 'from', 'to', 'body', 'headers', 'number_of_attachments', 'size'` +**Columns:** `'pk', 'uid', 'mail_box', 'date', 'from', 'to', 'subject', 'body', 'body_html', 'headers', 'number_of_attachments', 'size', 'attachment_names'` ### Attachments