Ardela
Ardela
Docs
API

Integrations

Connect Ardela to Zapier, Clio, and other CRM systems.

This guide covers the recommended integration pattern for filing completed Ardela recordings into external systems.

Typical filing flow

Poll unsynced recordings → Fetch full content → Create CRM record → Mark filed

Optionally add webhooks to wake your integration when recordings complete.

API key setup

Create a key in Settings → API Keys with:

Integration typeScopes
Read-only monitoringread:recordings
CRM filing (most common)read:recordings, write:recordings
Webhook managementmanage:webhooks (in addition to above)

Zapier (private app)

Trigger: New completed recording

Poll:

GET /api/v1/recordings?status=COMPLETED&syncState=unsynced&limit=50

Zapier configuration:

  • Dedupe key: id
  • Poll interval: 5–15 minutes
  • Pagination: follow meta.nextCursor while meta.hasMore is true

The trigger response is metadata-first — use a separate action step to fetch full content.

Action: Get recording details

GET /api/v1/recordings/{{id}}

Map these fields in downstream steps:

FieldUse for
notes[].contentGenerated notes
documents[].contentLetters and documents
transcriptFull transcript
client.referenceNumberCRM client matching
matter.referenceNumberCRM matter matching

Action: Mark recording filed

After the CRM step succeeds:

POST /api/v1/recordings/{{id}}/filings
{
  "provider": "zapier",
  "externalId": "{{crm_document_id}}",
  "externalUrl": "{{crm_document_url}}",
  "metadata": {
    "zapId": "{{zap_id}}",
    "step": "file-to-clio"
  }
}

Example: File to Clio

  1. Trigger — New completed recording (syncState=unsynced)
  2. Ardela — Get recording details (GET /recordings/:id)
  3. Clio — Upload document using documents[0].content or note content
  4. Clio — Create communication on matter matter.referenceNumber
  5. Ardela — Mark recording filed:
{
  "provider": "clio",
  "externalId": "doc_123",
  "externalUrl": "https://app.clio.com/documents/doc_123",
  "metadata": {
    "matterId": "matter_456",
    "communicationId": "comm_789"
  }
}

Example: Actionstep / custom CRM

The pattern is the same regardless of provider:

  1. Poll or webhook for new completed recordings
  2. Fetch full content by ID
  3. Map client, matter, notes, and documents to your CRM's API
  4. Mark filed with your provider name in the provider field

Use metadata to store any provider-specific IDs you need for reconciliation.

Optional: webhooks for faster triggers

Instead of polling alone, register a webhook:

POST /api/v1/webhooks
{ "url": "https://your-server.com/ardela", "events": ["recording.completed"] }

Your server verifies the signature, fetches full content, and processes the filing. Keep polling as a backup.

See Webhooks.

Performance tips

  • Poll syncState=unsynced to skip already-filed recordings
  • Use cursor pagination for catch-up after downtime
  • Fetch by ID instead of include=content on list for high-volume firms
  • Use 5–15 minute poll intervals — avoid aggressive polling

On this page