---
title: Apps & integrations
description: Browse the chkit app registry for ClickHouse integrations, synced records, setup guides, and editable API sync templates.
sidebar:
  label: Integration list
  order: 1
---

The chkit app registry provides installable ClickHouse integrations with editable schemas, API readers, and sync pipelines.


## Available integrations

Choose an app to see its setup guide, every resource it syncs, required permissions, and how data reaches ClickHouse. These integrations copy TypeScript source into the project, where the readers and schemas remain editable.

### [Attio](/integrations/attio/)

Editable Attio CRM schemas, raw data readers, typed views, and independent streams for People, Companies, configured custom types, and workspace resources.

| Property | Included behavior |
| --- | --- |
| Registry app | `attio` (v0.2.1) |
| Install command | `bunx chkit add attio` |
| Source directory | `src/integrations/attio` |
| Authentication | Bearer token |
| Environment variables | `ATTIO_API_TOKEN` |
| ClickHouse | `>=25.3.0` |
| Coverage | 9 synced resources, 3 derived views |
| Sync strategy | Full scans |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Objects (`objects`) | `attio_objects_raw` | Accessible standard and custom object definitions, IDs, API slug, singular and plural names, creation time | [`GET /objects`](https://docs.attio.com/rest-api/endpoint-reference/objects/list-objects) |
| Object attributes (`object_attributes`) | `attio_object_attributes_raw` | Attribute IDs, slug, title, description, type, flags, defaults, relationship definitions, configuration, creation time; includes archived definitions | [`GET /objects/{object_id}/attributes`](https://docs.attio.com/rest-api/endpoint-reference/attributes/list-attributes), [`GET /objects/{object_id}`](https://docs.attio.com/rest-api/endpoint-reference/objects/get-an-object) |
| Records (`records`) | `attio_records_raw` | Independent records streams for configured object types (People and Companies by default), IDs, creation time, Attio URL, and the complete values object with all returned attribute arrays | [`POST /objects/{object_id}/records/query`](https://docs.attio.com/rest-api/endpoint-reference/records/list-records), [`GET /objects/{object_id}`](https://docs.attio.com/rest-api/endpoint-reference/objects/get-an-object) |
| Lists (`lists`) | `attio_lists_raw` | List IDs, slug, name, parent objects, workspace and member access configuration, creator, creation time | [`GET /lists`](https://docs.attio.com/rest-api/endpoint-reference/lists/list-all-lists) |
| List attributes (`list_attributes`) | `attio_list_attributes_raw` | Attribute definitions for selected lists, including types, configuration, flags, defaults, relationships, and archived definitions | [`GET /lists/{list_id}/attributes`](https://docs.attio.com/rest-api/endpoint-reference/attributes/list-attributes), [`GET /lists/{list_id}`](https://docs.attio.com/rest-api/endpoint-reference/lists/get-a-list) |
| List entries (`entries`) | `attio_entries_raw` | Entry IDs, parent object and record ID, creation time, and the complete entry_values object | [`POST /lists/{list_id}/entries/query`](https://docs.attio.com/rest-api/endpoint-reference/entries/list-entries), [`GET /lists/{list_id}`](https://docs.attio.com/rest-api/endpoint-reference/lists/get-a-list) |
| Notes (`notes`) | `attio_notes_raw` | Note IDs, parent record links, title, plaintext and Markdown content, tags, creator, creation time, and meeting reference when returned | [`GET /notes`](https://docs.attio.com/rest-api/endpoint-reference/notes/list-notes) |
| Tasks (`tasks`) | `attio_tasks_raw` | Task IDs, plaintext content, deadline, completion state and time, linked records, assignees, creator, creation time | [`GET /tasks`](https://docs.attio.com/rest-api/endpoint-reference/tasks/list-tasks) |
| Workspace members (`members`) | `attio_members_raw` | Member IDs, first and last name, email address, avatar URL, access level, creation time | [`GET /workspace_members`](https://docs.attio.com/rest-api/endpoint-reference/workspace-members/list-workspace-members) |

[Integrating ClickHouse with Attio](/integrations/attio/) covers credentials, permissions, storage, and sync limitations.

### [Circleback](/integrations/circleback/)

Editable Circleback full scan cycles with bounded parent recovery and durable transcript availability diagnostics.

| Property | Included behavior |
| --- | --- |
| Registry app | `circleback` (v0.2.0) |
| Install command | `bunx chkit add circleback` |
| Source directory | `src/integrations/circleback` |
| Authentication | Bearer API key |
| Environment variables | `CIRCLEBACK_API_KEY` |
| ClickHouse | `>=25.3.0` |
| Coverage | 1 synced resources, 0 derived views |
| Sync strategy | Full scans |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Meetings (`meetings`) | `circleback_meetings_raw` | Meeting metadata and notes, with a transcript where access permits it. | [`GET /meetings`](https://circleback.ai/docs/api/meetings/list-meetings), [`GET /meeting/{meetingId}/transcript`](https://circleback.ai/docs/api/meetings/get-meeting-transcript) |

[Integrating ClickHouse with Circleback](/integrations/circleback/) covers credentials, permissions, storage, and sync limitations.

### [GitHub](/integrations/github/)

Editable GitHub timestamp ingestion with complete issue and pull request context and full stargazer scans.

| Property | Included behavior |
| --- | --- |
| Registry app | `github` (v0.2.0) |
| Install command | `bunx chkit add github` |
| Source directory | `src/integrations/github` |
| Authentication | Bearer token |
| Environment variables | `GITHUB_TOKEN` |
| ClickHouse | `>=25.3.0` |
| Coverage | 2 synced resources, 0 derived views |
| Sync strategy | Timestamp windows, Full scans |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Issues and pull requests (`issues`) | `github_issues_raw` | Issues and pull requests updated inside a timestamp window, including paginated comments and pull request context. | [`GET /repos/{owner}/{repo}/issues`](https://docs.github.com/en/rest/issues/issues#list-repository-issues) |
| Stargazers (`stargazers`) | `github_stargazers_raw` | Repository stargazers with starred_at when the token permits it | [`GET /repos/{owner}/{repo}/stargazers`](https://docs.github.com/en/rest/activity/starring#list-stargazers) |

[Integrating ClickHouse with GitHub](/integrations/github/) covers credentials, permissions, storage, and sync limitations.

### [Google Calendar](/integrations/google-calendar/)

Editable Google Calendar API ingestion with journaled checkpoints and raw ClickHouse tables.

| Property | Included behavior |
| --- | --- |
| Registry app | `google-calendar` (v0.2.0) |
| Install command | `bunx chkit add google-calendar` |
| Source directory | `src/integrations/google-calendar` |
| Authentication | OAuth access token |
| Environment variables | `GOOGLE_CALENDAR_ACCESS_TOKEN` |
| ClickHouse | `>=25.3.0` |
| Coverage | 1 synced resources, 0 derived views |
| Sync strategy | Cursor checkpoints |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Events (`events`) | `google_calendar_events_raw` | Canonical events, recurring masters, exceptions, and cancellation payloads from the configured calendar | [`GET /calendars/{calendarId}`](https://developers.google.com/workspace/calendar/api/v3/reference/calendars/get), [`GET /calendars/{calendarId}/events`](https://developers.google.com/workspace/calendar/api/v3/reference/events/list) |

[Integrating ClickHouse with Google Calendar](/integrations/google-calendar/) covers credentials, permissions, storage, and sync limitations.

### [Google Meet](/integrations/google-meet/)

Editable Google Meet API ingestion with journaled checkpoints and raw ClickHouse tables.

| Property | Included behavior |
| --- | --- |
| Registry app | `google-meet` (v0.2.0) |
| Install command | `bunx chkit add google-meet` |
| Source directory | `src/integrations/google-meet` |
| Authentication | OAuth access token |
| Environment variables | `GOOGLE_MEET_ACCESS_TOKEN` |
| ClickHouse | `>=25.3.0` |
| Coverage | 3 synced resources, 0 derived views |
| Sync strategy | Cursor checkpoints |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Conferences (`conferences`) | `google_meet_conferences_raw` | Conference records visible to the access token | [`GET /conferenceRecords`](https://developers.google.com/workspace/meet/api/reference/rest/v2/conferenceRecords/list) |
| Transcripts (`transcripts`) | `google_meet_transcripts_raw` | Transcript metadata for discovered and retained pending conferences | [`GET /conferenceRecords/{conferenceRecord}/transcripts`](https://developers.google.com/workspace/meet/api/reference/rest/v2/conferenceRecords.transcripts/list) |
| Transcript entries (`transcript-entries`) | `google_meet_transcript_entries_raw` | Individually keyed, paged transcript entries for retained conferences | [`GET /conferenceRecords`](https://developers.google.com/workspace/meet/api/reference/rest/v2/conferenceRecords/list), [`GET /conferenceRecords/{conferenceRecord}/transcripts`](https://developers.google.com/workspace/meet/api/reference/rest/v2/conferenceRecords.transcripts/list), [`GET /conferenceRecords/{conferenceRecord}/transcripts/{transcript}/entries`](https://developers.google.com/workspace/meet/api/reference/rest/v2/conferenceRecords.transcripts.entries/list) |

[Integrating ClickHouse with Google Meet](/integrations/google-meet/) covers credentials, permissions, storage, and sync limitations.

### [Lemlist](/integrations/lemlist/)

Editable Lemlist ingestion with resumable activity date intervals and full campaign scans.

| Property | Included behavior |
| --- | --- |
| Registry app | `lemlist` (v0.2.0) |
| Install command | `bunx chkit add lemlist` |
| Source directory | `src/integrations/lemlist` |
| Authentication | HTTP Basic API key |
| Environment variables | `LEMLIST_API_KEY` |
| ClickHouse | `>=25.3.0` |
| Coverage | 2 synced resources, 0 derived views |
| Sync strategy | Timestamp windows, Full scans |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Activities (`activities`) | `lemlist_activities_raw` | Outreach activity events | [`GET /activities`](https://developer.lemlist.com/api-reference/endpoints/activities/get-many-activities) |
| Campaigns (`campaigns`) | `lemlist_campaigns_raw` | Campaign metadata | [`GET /campaigns`](https://developer.lemlist.com/api-reference/endpoints/campaigns/get-many-campaigns) |

[Integrating ClickHouse with Lemlist](/integrations/lemlist/) covers credentials, permissions, storage, and sync limitations.

### [Linear](/integrations/linear/)

Editable Linear timestamp ingestion with archived issues and complete paginated comments.

| Property | Included behavior |
| --- | --- |
| Registry app | `linear` (v0.2.0) |
| Install command | `bunx chkit add linear` |
| Source directory | `src/integrations/linear` |
| Authentication | Personal API key |
| Environment variables | `LINEAR_API_KEY` |
| ClickHouse | `>=25.3.0` |
| Coverage | 1 synced resources, 0 derived views |
| Sync strategy | Timestamp windows |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Issues (`issues`) | `linear_issues_raw` | Archived and active issues updated inside a timestamp window, with all accessible comment pages. | [`POST /graphql`](https://linear.app/developers/graphql) |

[Integrating ClickHouse with Linear](/integrations/linear/) covers credentials, permissions, storage, and sync limitations.

### [Slack](/integrations/slack/)

Editable raw Slack readers with resumable message ranges, retained thread work, and historical reconciliation.

| Property | Included behavior |
| --- | --- |
| Registry app | `slack` (v0.2.0) |
| Install command | `bunx chkit add slack` |
| Source directory | `src/integrations/slack` |
| Authentication | Slack OAuth bearer token (user token recommended) |
| Environment variables | `SLACK_API_TOKEN` |
| ClickHouse | `>=25.3.0` |
| Coverage | 3 synced resources, 0 derived views |
| Sync strategy | Full scans, Cursor checkpoints |

| Resource | Default ClickHouse table | Records synced | API reference |
| --- | --- | --- | --- |
| Conversations (`channels`) | `slack_channels_raw` | Selected accessible conversations, including archived channels, with complete returned topics, purpose, membership flags, and shared-channel metadata. Public channels by default; private channels, DMs, and group DMs are opt-in. | [`GET /conversations.list`](https://docs.slack.dev/reference/methods/conversations.list/) |
| Users (`users`) | `slack_users_raw` | Complete returned workspace member and bot profiles, IDs, names, status, timezone, and deactivation flags. Email requires the optional users:read.email scope. | [`GET /users.list`](https://docs.slack.dev/reference/methods/users.list/) |
| Messages and thread replies (`messages`) | `slack_messages_raw` | Raw messages and replies selected by checkpointed timestamp windows, with retained thread work and periodic full historical reconciliation. Slack timestamps remain exact strings. | [`GET /conversations.history`](https://docs.slack.dev/reference/methods/conversations.history/), [`GET /conversations.replies`](https://docs.slack.dev/reference/methods/conversations.replies/) |

[Integrating ClickHouse with Slack](/integrations/slack/) covers credentials, permissions, storage, and sync limitations.

## Find and install an app

Browse the official GitHub registry from the CLI without a ClickHouse connection. This site renders the provider manifests during its build:

```sh
bunx chkit registry list
bunx chkit registry inspect attio
bunx chkit add attio --dry-run
bunx chkit add attio --with-tests
```

`registry list --json` exposes resource coverage and documentation links for scripts and agents. `registry inspect` includes API endpoints and scopes, destination tables, derived views, credential setup instructions, sync limitations, dependencies, and the files to install. `--with-tests` copies the app's portable fixture tests alongside its source.

Installation adds source files, registers schemas and ingestion, and installs dependencies. Configure the app credentials and ClickHouse connection, then follow the integration guide to generate and review migrations before the first sync. Schedule recurring runs through cron, CI, or an existing scheduler.

## What each integration guide covers

- **Setup:** requirements, where to create source-system credentials, authentication scopes, installation, schema migrations, and the first run.
- **Records:** every included resource, its destination table, stored fields, and query views.
- **Sync behavior:** discovery, pagination, retries, repeat runs, and failed runs.
- **Coverage limits:** unsupported resources, deletion behavior, and permissions.
- **Customization:** select resources, change projections, and operate the copied source.

## Add another app

Build readers for an API using the [source authoring guide](/api-sync/readers/), then [publish a registry item](/api-sync/registry-authoring/). Each app in the official catalog ships with its own integration guide; the catalog, CLI, and search metadata use the same registry manifest.

## Related pages

- [Provider templates](/api-sync/templates/): installation, source ownership, and updates.
- [`chkit registry`](/cli/registry/): list, inspect, and build commands.
- [`chkit add`](/cli/add/): installation flags and conflict handling.
- [API sync](/api-sync/): build and operate custom sources.
