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---5
6# Dex Personal CRM
7
8Manage your Dex CRM directly from Clawdbot. Search contacts, add notes, manage reminders.
9
10## Authentication
11
12Set `DEX_API_KEY` in gateway config env vars.
13
14## API Base
15
16- **Base URL:** `https://api.getdex.com/api/rest`
17- **Headers:** `Content-Type: application/json` and `x-hasura-dex-api-key: $DEX_API_KEY`
18
19## Quick Reference
20
21### Contacts
22
23```bash
24# 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"
28
29# Get contact by ID
30curl -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}"
33
34# Search contact by email
35curl -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"
38
39# Create contact
40curl -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"
44
45# Update contact
46curl -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}"
50
51# Delete contact
52curl -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```
56
57### Notes (Timeline Items)
58
59```bash
60# List notes
61curl -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"
64
65# Notes for a contact
66curl -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}"
69
70# Create note
71curl -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"
75
76# Update note
77curl -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}"
81
82# Delete note
83curl -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```
87
88### Reminders
89
90```bash
91# List reminders
92curl -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"
95
96# Create reminder
97curl -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"
101
102# Update reminder
103curl -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}"
107
108# Delete reminder
109curl -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```
113
114## Contact Fields
115
116- `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`
123
124## Searching Contacts
125
126The 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.
127
128## Notes
129
130- Always confirm before creating, updating, or deleting contacts/notes/reminders
131- Contact search by name requires local filtering (API only supports email search)
132- Use pagination (limit/offset) for large result sets
133- The `event_time` field on notes is when the interaction happened, not when the note was created