All text, audio and image files are supported file formats via Zotero.

Authorization Type

Carbon uses OAuth 1.0 to connect to Zotero.

Authorization Flow

Log into your Zotero account.

Click the “Accept Defaults” button to grant us permission to access Zotero.

Once clicking “Accept Defaults”, all Zotero files are synced and you should see the following confirmation:


Custom OAuth Credentials

Setting up the OAuth App

  1. Create or log into your Zotero Account.

  2. Click here to set up your OAuth app.

  1. Click “Register a New Application” and fill out the info below. Add as the Callback URL. You can also opt to use a custom CNAME record pointing to The domain path must still be /integrations/zotero.

  1. Copy and share the Client Key and Client Secret with Carbon.


Carbon allows users to upload pdf, docx, pptx,txt,csv, png, rtf, tsv, xlsx, jpeg and md files directly from Zotero.


By default, Carbon syncs all attachments from your Zotero library along with the accompanying info as metadata.

You can use the resync_file API endpoint to programmatically resync specific Zotero files. To delete Zotero files from Carbon, you can use the delete_files endpoint directly.

To sync Zotero files on a 24-hour schedule (more frequent schedules available upon request), you can use the /update_users endpoint. This endpoint allows organizations to customize syncing settings according to their requirements, with the option to enable syncing for all data sources using the string ‘ALL’. It’s important to note that each request supports up to 100 customer IDs.

Here’s an example illustrating how to automatically enable syncing for updated Zotero content for specified users:

    "customer_ids": ["", ""],
    "auto_sync_enabled_sources": ["ZOTERO"]