Dex Personal CRM
Manage your Dex CRM directly from Clawdbot. Search contacts, add notes, manage reminders.
Authentication
Set DEX_API_KEY in gateway config env vars.
API Base
- Base URL:
https://api.getdex.com/api/rest
- Headers:
Content-Type: application/json and x-hasura-dex-api-key: $DEX_API_KEY
Quick Reference
Contacts
# List contacts (paginated)
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/contacts?limit=10&offset=0"
# Get contact by ID
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/contacts/{contactId}"
# Search contact by email
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/search/contacts?email=someone@example.com"
# Create contact
curl -s -X POST -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"first_name":"John","last_name":"Doe","emails":["john@example.com"]}' \
"https://api.getdex.com/api/rest/contacts"
# Update contact
curl -s -X PUT -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"job_title":"CEO"}' \
"https://api.getdex.com/api/rest/contacts/{contactId}"
# Delete contact
curl -s -X DELETE -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/contacts/{contactId}"
Notes (Timeline Items)
# List notes
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/timeline_items?limit=10&offset=0"
# Notes for a contact
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/timeline_items/contacts/{contactId}"
# Create note
curl -s -X POST -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"note":"Met for coffee, discussed project","contact_ids":["contact-uuid"],"event_time":"2026-01-27T12:00:00Z"}' \
"https://api.getdex.com/api/rest/timeline_items"
# Update note
curl -s -X PUT -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"note":"Updated note text"}' \
"https://api.getdex.com/api/rest/timeline_items/{noteId}"
# Delete note
curl -s -X DELETE -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/timeline_items/{noteId}"
Reminders
# List reminders
curl -s -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/reminders?limit=10&offset=0"
# Create reminder
curl -s -X POST -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"body":"Follow up on proposal","due_at_date":"2026-02-01","contact_ids":["contact-uuid"]}' \
"https://api.getdex.com/api/rest/reminders"
# Update reminder
curl -s -X PUT -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
-d '{"is_complete":true}' \
"https://api.getdex.com/api/rest/reminders/{reminderId}"
# Delete reminder
curl -s -X DELETE -H "Content-Type: application/json" \
-H "x-hasura-dex-api-key: $DEX_API_KEY" \
"https://api.getdex.com/api/rest/reminders/{reminderId}"
Contact Fields
first_name, last_name, job_title, description
emails (array of {email})
phones (array of {phone_number})
education, website, linkedin, facebook, twitter, instagram, telegram
birthday, image_url
last_seen_at, next_reminder_at
is_archived, created_at, updated_at
Searching Contacts
The API only supports search by email. For name-based search, fetch contacts in batches and filter locally. Use a reasonable limit (50-100) for browsing.
Notes
- Always confirm before creating, updating, or deleting contacts/notes/reminders
- Contact search by name requires local filtering (API only supports email search)
- Use pagination (limit/offset) for large result sets
- The
event_time field on notes is when the interaction happened, not when the note was created
1---2name: dex-crm3description: Manage Dex personal CRM (getdex.com) contacts, notes, and reminders. Use when you need to: (1) Search or browse contacts, (2) Add notes about people, (3) Create or check reminders, (4) Look up contact details (phone, email, birthday). Requires DEX_API_KEY environment variable.4---56# Dex Personal CRM78Manage your Dex CRM directly from Clawdbot. Search contacts, add notes, manage reminders.910## Authentication1112Set `DEX_API_KEY` in gateway config env vars.1314## API Base1516- **Base URL:** `https://api.getdex.com/api/rest`17- **Headers:** `Content-Type: application/json` and `x-hasura-dex-api-key: $DEX_API_KEY`1819## Quick Reference2021### Contacts2223```bash24# List contacts (paginated)25curl -s -H "Content-Type: application/json" \26 -H "x-hasura-dex-api-key: $DEX_API_KEY" \27 "https://api.getdex.com/api/rest/contacts?limit=10&offset=0"2829# Get contact by ID30curl -s -H "Content-Type: application/json" \31 -H "x-hasura-dex-api-key: $DEX_API_KEY" \32 "https://api.getdex.com/api/rest/contacts/{contactId}"3334# Search contact by email35curl -s -H "Content-Type: application/json" \36 -H "x-hasura-dex-api-key: $DEX_API_KEY" \37 "https://api.getdex.com/api/rest/search/contacts?email=someone@example.com"3839# Create contact40curl -s -X POST -H "Content-Type: application/json" \41 -H "x-hasura-dex-api-key: $DEX_API_KEY" \42 -d '{"first_name":"John","last_name":"Doe","emails":["john@example.com"]}' \43 "https://api.getdex.com/api/rest/contacts"4445# Update contact46curl -s -X PUT -H "Content-Type: application/json" \47 -H "x-hasura-dex-api-key: $DEX_API_KEY" \48 -d '{"job_title":"CEO"}' \49 "https://api.getdex.com/api/rest/contacts/{contactId}"5051# Delete contact52curl -s -X DELETE -H "Content-Type: application/json" \53 -H "x-hasura-dex-api-key: $DEX_API_KEY" \54 "https://api.getdex.com/api/rest/contacts/{contactId}"55```5657### Notes (Timeline Items)5859```bash60# List notes61curl -s -H "Content-Type: application/json" \62 -H "x-hasura-dex-api-key: $DEX_API_KEY" \63 "https://api.getdex.com/api/rest/timeline_items?limit=10&offset=0"6465# Notes for a contact66curl -s -H "Content-Type: application/json" \67 -H "x-hasura-dex-api-key: $DEX_API_KEY" \68 "https://api.getdex.com/api/rest/timeline_items/contacts/{contactId}"6970# Create note71curl -s -X POST -H "Content-Type: application/json" \72 -H "x-hasura-dex-api-key: $DEX_API_KEY" \73 -d '{"note":"Met for coffee, discussed project","contact_ids":["contact-uuid"],"event_time":"2026-01-27T12:00:00Z"}' \74 "https://api.getdex.com/api/rest/timeline_items"7576# Update note77curl -s -X PUT -H "Content-Type: application/json" \78 -H "x-hasura-dex-api-key: $DEX_API_KEY" \79 -d '{"note":"Updated note text"}' \80 "https://api.getdex.com/api/rest/timeline_items/{noteId}"8182# Delete note83curl -s -X DELETE -H "Content-Type: application/json" \84 -H "x-hasura-dex-api-key: $DEX_API_KEY" \85 "https://api.getdex.com/api/rest/timeline_items/{noteId}"86```8788### Reminders8990```bash91# List reminders92curl -s -H "Content-Type: application/json" \93 -H "x-hasura-dex-api-key: $DEX_API_KEY" \94 "https://api.getdex.com/api/rest/reminders?limit=10&offset=0"9596# Create reminder97curl -s -X POST -H "Content-Type: application/json" \98 -H "x-hasura-dex-api-key: $DEX_API_KEY" \99 -d '{"body":"Follow up on proposal","due_at_date":"2026-02-01","contact_ids":["contact-uuid"]}' \100 "https://api.getdex.com/api/rest/reminders"101102# Update reminder103curl -s -X PUT -H "Content-Type: application/json" \104 -H "x-hasura-dex-api-key: $DEX_API_KEY" \105 -d '{"is_complete":true}' \106 "https://api.getdex.com/api/rest/reminders/{reminderId}"107108# Delete reminder109curl -s -X DELETE -H "Content-Type: application/json" \110 -H "x-hasura-dex-api-key: $DEX_API_KEY" \111 "https://api.getdex.com/api/rest/reminders/{reminderId}"112```113114## Contact Fields115116- `first_name`, `last_name`, `job_title`, `description`117- `emails` (array of `{email}`)118- `phones` (array of `{phone_number}`)119- `education`, `website`, `linkedin`, `facebook`, `twitter`, `instagram`, `telegram`120- `birthday`, `image_url`121- `last_seen_at`, `next_reminder_at`122- `is_archived`, `created_at`, `updated_at`123124## Searching Contacts125126The API only supports search by email. For name-based search, fetch contacts in batches and filter locally. Use a reasonable limit (50-100) for browsing.127128## Notes129130- Always confirm before creating, updating, or deleting contacts/notes/reminders131- Contact search by name requires local filtering (API only supports email search)132- Use pagination (limit/offset) for large result sets133- The `event_time` field on notes is when the interaction happened, not when the note was created