File Processing

We currently support the following webhook events for file processing:

FILES_CREATED

Sent when a user queues up a file to be synced for the first time. The body of the webhook will contain a list of file_ids for files that were created in the same upload, and multiple events could fire for the same upload if a lot of files were queued.

ALL_UPLOADED_FILES_QUEUED

Sent when every single item in an upload has been queued for sync, including all children of folders in an upload. The body will contain the upload’s request_id.

FILE_READY

Sent after a file has been fully processed and added to Carbon.

FILE_ERROR

Sent if there was an error during the file processing stage. If an error occurred, the file is requeued for reprocessing up to three times.

FILE_DELETED

Sent if a file has been successfully deleted.

RATE_LIMIT_ERROR

Sent if the organization has reached the rate limit for file processing. In this case, the file is requeued for reprocessing up to three times.

FILE_SYNC_LIMIT_REACHED

Sent if a organization user attempts to upload files that would cause them to exceed the organization daily upload limit (2.5GB per day), max file limit, max file per upload limit.

SPARSE_VECTOR_GENERATION

Sent when the status of sparse vector generation for a document changes. The webhook payload includes an embedded field in the additional_information object called sparse_vector_queue_status. This field can have one of three possible values: queued, aborted, failed.

FILES_SKIPPED

Sent when file processing is skipped. The body of the webhook will contain a list of file_ids for files and a reason in additional_information.

Data Source Connections

We currently support the following webhook events for managing user connections to data sources:

ADD

This event is fired when a user connects a new account, when an access token is revoked and the user reconnects, and when a user initiates the “connect a new account” flow but connects to an already connected account.

UPDATE

This event is fired when a user selects one or more files for a particular data source. This event is fired once per file selection confirmation, regardless of how many files are selected.

CANCEL

This event is fired when a user cancels the authentication flow. It’s important to note that this event cannot capture tab-close events, so directly closing a tab is not within our tracking capabilities.

REVOKE

This event is fired when a user’s access token is revoked via the /revoke_access_token endpoint or when Carbon receives a 401 Unauthorized from the data source using an expired or revoked access token.

Organization

We currently support the following webhook events for organizations:

FILE_STATISTICS_AGGREGATED

This event is fired when the organization’s request to refresh usage metrics is successfully processed.

CHECKUP

This event is fired every 10s to check if a FLAGGED webhook is healthy again, and re-activate the webhook if we receive a 200 response.

Websites

WEBSCRAPE_URLS_READY

This event is fired when a specific web page from a web scrape request is finished processing.

WEBPAGE_ERROR

This event is fired when a fetch_webpage request failed. The webhook payload includes the corresponding webpage ID.

WEBPAGE_READY

This event is fired when a fetch_webpage request succeeded. The webhook payload includes the corresponding webpage ID.

Example Payload

Our webhook payload returns stringified JSON.

{
    "payload": "{\"webhook_type\": \"FILE_READY\", \"obj\": {\"object_type\": \"FILE\", \"object_id\": \"78687\", \"additional_information\": \"null\"}, \"customer_id\": \"FAKE_ID\", \"timestamp\": \"1700508942\"}"
}