Skip to main content

Chat Messages

Ingests individual chat messages from the Anthropic Compliance API for visibility into Claude conversation activity across your organization.

Sync Type: Incremental

Requirements

Before configuring this input, you need to:

  1. Create a Compliance Access KeyAnthropic docs.

    • Log in to your Anthropic account
    • Navigate to the Data Management Settings
    • Create a new Compliance Access Key
    • Ensure the key has the read:compliance_user_data scope
    • Copy and securely store the generated key
  2. Identify Organization IDs (optional):

    • You can filter chats by specific Anthropic organization IDs
    • If not specified, chats for all accessible organizations will be fetched
    • Organization IDs are in the format: org_xxxxxxxx
  3. Identify Project IDs (optional):

    • You can filter chats by specific Anthropic project IDs
    • If not specified, chats for all projects will be fetched
    • Project IDs are in the format: proj_xxxxxxxx
  4. Identify User IDs (optional):

    • You can filter chats by specific Anthropic user IDs
    • If not specified, all users are automatically discovered across your organizations
    • User IDs are in the format: user_xxxxxxxx

Details

Monad keeps track of the state of the input via a timestamp using the updated_at.gt filter parameter on the Compliance API. The timestamp of the last successful run is used to retrieve only chats that have been created or updated since the previous sync. Monad generates a timestamp when initiating the sync and will only save it if no errors occur during the sync.

Each message is emitted as its own record with chat and user context attached (chat ID, chat name, user, organization, and project). This ensures new messages added to existing chats are captured on subsequent runs and avoids record size limits from large chat histories.

If no User IDs are configured, the input automatically discovers all users across your accessible organizations by iterating through the organizations and users endpoints.

For the first run, if no backfill start time is specified, the input defaults to the current time. All subsequent syncs will be incremental from that point forward.

Configuration

The following configuration defines the input parameters. Each field's specifications, such as type, requirements, and descriptions, are detailed below.

Settings

SettingTypeRequiredDescription
Backfill Start TimestringNoDate to start fetching data from (ISO 8601 format). If not specified, defaults to the current time on the first sync. All subsequent syncs will be incremental.
Organization IDsstring[]NoList of Anthropic organization IDs to filter chats by. If not specified, chats for all organizations accessible by the provided access key will be fetched.
Project IDsstring[]NoList of Anthropic project IDs to filter chats by. If not specified, chats for all projects will be fetched.
User IDsstring[]NoList of Anthropic user IDs to filter chats by. If not specified, all users are automatically discovered across accessible organizations.

Secrets

SecretTypeRequiredDescription
Compliance Access KeystringYesCompliance Access Key with read:compliance_user_data scope. Created in Data Management Settings.

Rate Limits

ScopeLimitWindowNotes
API Requests4Per secondRequests per second across all endpoints
Page Size1,000Per requestMaximum records returned per page

Headers: x-api-key

Source: Anthropic Compliance API Documentation

Sample Record

{
"id": "claude_chat_msg_123456",
"role": "user",
"created_at": "2026-04-08T14:30:45.123Z",
"content": [
{
"type": "text",
"text": "Can you help me review this pull request for security issues?"
}
],
"files": null,
"artifacts": null,
"chat_id": "claude_chat_789012",
"chat_name": "PR Security Review",
"chat_user": {
"id": "user_abcdefgh",
"email_address": "user@example.com"
},
"organization_id": "org_12345678",
"organization_uuid": "550e8400-e29b-41d4-a716-446655440000",
"project_id": ""
}