Integrations
Connect Ardela to Zapier, Clio, and other CRM systems.
This guide covers the REST API filing pattern for exporting completed recordings to external systems. For importing clients and matters from Clio, see Settings → Integrations.
REST API access requires a Pro or Enterprise plan.
Typical filing flow
Poll unsynced recordings → Fetch full content → Create CRM record → Mark filedOptionally add webhooks to wake your integration when recordings complete.
API key setup
Create a key in Settings → API Keys with:
| Integration type | Scopes |
|---|---|
| Read-only monitoring | read:recordings |
| CRM filing (most common) | read:recordings, write:recordings |
| Webhook management | manage:webhooks (in addition to above) |
Clio: two integration paths
| Path | Direction | Setup |
|---|---|---|
| Native sync | Clio → Ardela (clients & matters) | Settings → Integrations |
| REST API filing | Ardela → Clio (completed recordings) | This guide |
Use both together: sync clients/matters in, file finished transcripts and notes out.
Zapier (private app)
Trigger: New completed recording
Poll:
GET /api/v1/recordings?status=COMPLETED&syncState=unsynced&limit=50Zapier configuration:
- Dedupe key:
id - Poll interval: 5–15 minutes
- Pagination: follow
meta.nextCursorwhilemeta.hasMoreistrue
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:
| Field | Use for |
|---|---|
notes[].content | Generated notes |
documents[].content | Letters and documents |
transcript | Full transcript |
client.referenceNumber | CRM client matching |
matter.referenceNumber | CRM 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 via API
- Trigger — New completed recording (
syncState=unsynced) - Ardela — Get recording details (
GET /recordings/:id) - Clio — Upload document using
documents[0].contentor note content - Clio — Create communication on matter
matter.referenceNumber - 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:
- Poll or webhook for new completed recordings
- Fetch full content by ID
- Map
client,matter,notes, anddocumentsto your CRM's API - Mark filed with your provider name in the
providerfield
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=unsyncedto skip already-filed recordings - Use cursor pagination for catch-up after downtime
- Fetch by ID instead of
include=contenton list for high-volume firms - Use 5–15 minute poll intervals — avoid aggressive polling
