Skip to main content

Convex

This page contains the setup guide and reference information for the Convex source connector.

Get started with Convex at the Convex website. See your data on the Convex dashboard.

Overview

The Convex source connector supports Full Refresh, Incremental Append, and Incremental Dedupe with deletes.

Output schema

This source syncs each Convex table as a separate stream. Check out the list of your tables on the Convex dashboard in the "Data" view.

Types not directly supported by JSON are encoded as described in the JSONSchema for the stream.

For example, the Javascript value new Set(["a", "b"]) is encoded as {"$set": ["a", "b"]}, as described by the JSONSchema {"type": "object", "description": "Set", "properties": {"$set": {"type": "array", "items": {"type": "string"}}}}.

Every record includes the client-defined fields for the table, for example a "messages" table may contain fields for "author" and "body". Additionally, each document has system fields:

  1. _id uniquely identifies the document. It is not changed by .patch or .replace operations.
  2. _creationTime records a timestamp in milliseconds when the document was initially created. It is not changed by .patch or .replace operations.
  3. _ts records a timestamp in nanoseconds when the document was last modified. It can be used for ordering operations in Incremental Append mode, and is automatically used in Incremental Dedupe mode.
  4. _deleted identifies whether the document was deleted. It can be used to filter deleted documents in Incremental Append mode, and is automatically used to remove documents in Incremental Dedupe mode.

Features

FeatureSupported?
Full Refresh SyncYes
Incremental - Append SyncYes
Incremental - Dedupe SyncYes
Replicate Incremental DeletesYes
Change Data CaptureYes
NamespacesNo

Performance considerations

The Convex connector syncs all documents from the historical log. If you see performance issues due to syncing unnecessary old versions of documents, please reach out to Convex support.

Getting started

Requirements

  • Convex Account
  • Convex Project
  • Deploy key

Setup guide

Airbyte integration is available to Convex teams on Professional plans.

On the Convex dashboard, navigate to the project that you want to sync. Note only "Production" deployments should be synced.

In the Data tab, you should see the tables and a sample of the data that will be synced.

  1. Navigate to the Settings tab.
  2. Copy the "Deployment URL" from the settings page to the deployment_url field in Airbyte.
  3. Click "Generate a deploy key".
  4. Copy the generated deploy key into the access_key field in Airbyte.

Reference

Config fields reference

Field
Type
Property name
string
deployment_url
string
access_key

Changelog

Expand to review
VersionDatePull RequestSubject
0.4.32024-06-2240038Update dependencies
0.4.22024-06-0639210[autopull] Upgrade base image to v1.2.2
0.4.12024-05-2138485[autopull] base image + poetry + up_to_date
0.4.02023-12-1333431🐛 Convex source fix bug where full_refresh stops after one page
0.3.02023-09-2830853🐛 Convex source switch to clean JSON format
0.2.02023-06-2127226🐛 Convex source fix skipped records
0.1.12023-03-0623797🐛 Convex source connector error messages
0.1.02022-10-2418403🎉 New Source: Convex