← Back to Skills Marketplace
jaybna

Dex CRM

by jaybna · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1715
Downloads
2
Stars
4
Active Installs
1
Versions
Install in OpenClaw
/install dex-crm
Description
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.
README (SKILL.md)

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/[email protected]"

# 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":["[email protected]"]}' \
  "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
Usage Guidance
Before installing: 1) Note the package includes a Python script that will archive contacts — run the script with --dry-run first and inspect its output. 2) Provide DEX_API_KEY only if you trust the skill and intend it to modify your Dex data; the registry metadata fails to declare this env var, so don’t assume it’s optional. 3) Verify the skill source/owner (README lists a GitHub handle) and prefer installing only from a verified source. 4) If you allow autonomous agent invocation, ensure policies or human-in-the-loop confirmation are in place to prevent accidental bulk-archiving. 5) Back up/export your contacts before running the cleanup for the first time.
Capability Analysis
Type: OpenClaw Skill Name: dex-crm Version: 1.0.0 The skill bundle is designed to manage Dex CRM contacts, notes, and reminders, which aligns with its stated purpose. All network requests in `SKILL.md` and `scripts/dex-cleanup.py` are directed to the legitimate `https://api.getdex.com` domain and use the `DEX_API_KEY` as expected. The `dex-cleanup.py` script, while performing bulk archiving of contacts, is transparent, includes a dry-run option, and its logic for identifying 'junk' contacts is clearly defined. There is no evidence of data exfiltration to unauthorized endpoints, malicious execution of remote payloads, persistence mechanisms, or prompt injection attempts designed to subvert the agent's intended behavior or access unrelated sensitive data.
Capability Assessment
Purpose & Capability
The skill's name/description match the observed behavior: SKILL.md documents Dex REST endpoints and README describes the same features. The included script (scripts/dex-cleanup.py) also operates on Dex contacts (archives junk contacts), which is consistent with a CRM management skill. However, the registry metadata lists no required environment variables while SKILL.md, README, and the script all require DEX_API_KEY — this mismatch is an incoherence that should be resolved.
Instruction Scope
SKILL.md’s runtime instructions are limited to calling the Dex REST API (curl examples) using the DEX_API_KEY header. There are no instructions to read unrelated local files or other credentials. The cleanup script performs bulk archive operations via the same API; it is potentially destructive (archives contacts) but its behavior is visible in the script and README (dry-run supported) and SKILL.md advises confirming before mutating data.
Install Mechanism
No install spec is provided (instruction-only), so nothing is downloaded or executed automatically. A local Python script is included in the package; that script will be written to disk when the skill is installed, but it is a simple, readable script using urllib to call the documented API. No external or obscure download URLs are used.
Credentials
The only secret the skill requires in practice is DEX_API_KEY, which is appropriate for a Dex integration. The problem is that the registry metadata did not declare any required env vars or a primary credential while the SKILL.md/README and scripts clearly require DEX_API_KEY. This inconsistency could lead to misconfiguration or surprise if users don't realize they must provide the API key.
Persistence & Privilege
The skill is not marked always:true and does not request system-wide config changes or other skills’ credentials. It can modify Dex data via the API (expected for a CRM skill). Autonomous invocation is allowed by default on the platform; combined with the included archival script this means an operator should be careful about allowing unattended runs, but that is a platform-level concern rather than an unexpected privilege requested by the skill itself.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dex-crm
  3. After installation, invoke the skill by name or use /dex-crm
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Manage Dex personal CRM contacts, notes, and reminders
Metadata
Slug dex-crm
Version 1.0.0
License
All-time Installs 4
Active Installs 4
Total Versions 1
Frequently Asked Questions

What is Dex CRM?

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. It is an AI Agent Skill for Claude Code / OpenClaw, with 1715 downloads so far.

How do I install Dex CRM?

Run "/install dex-crm" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Dex CRM free?

Yes, Dex CRM is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Dex CRM support?

Dex CRM is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Dex CRM?

It is built and maintained by jaybna (@jaybna); the current version is v1.0.0.

💬 Comments