Dalil AI — API Docs & Agent Skills
This repository contains everything you need to build on top of Dalil AI — a CRM platform for managing contacts, companies, deals, tasks, and notes.
It serves three audiences:
- Developers building custom integrations, automations, or applications on top of Dalil AI
- AI agents (Claude, GPT, etc.) that need structured, action-ready references to operate the CRM on a user's behalf
- Dalil customers onboarding through Claude Code — a plugin interviews you and generates your Sales OS
What's Inside
apiDocs/ # Human-readable API reference for developers
.claude/skills/ # Condensed skill files designed for AI agents
plugins/ # Claude Code plugin — customer GTM/CRM onboarding
apiDocs/
Detailed API reference guides covering every resource, operation, and convention in the Dalil AI API. Written for developers who want to understand the full picture before building.
.claude/skills/
Self-contained, action-oriented skill files built for AI agents. Each file covers a single entity and is structured so an AI agent can pick it up and immediately know what endpoints to call, what fields are required, and what mistakes to avoid.
Each skill file includes:
- Endpoint signatures with required fields
- Complete example request bodies
- Search patterns (GraphQL + REST two-step)
- Common filter examples
- A Gotchas section — edge cases and common mistakes
How the API Works
Dalil AI exposes two interfaces:
| Interface | Path | Purpose |
|---|
| REST API | /rest/... | All CRUD operations |
| GraphQL | /graphql | Full-text search (returns IDs only) |
Base URL: https://app.usedalil.ai
Authentication: Every request requires Authorization: Bearer YOUR_API_KEY. Get your key from Settings → API Keys in your workspace.
Search pattern: Full-text search goes through GraphQL, which returns record IDs. You then fetch full records via REST:
Step 1: POST /graphql → get list of recordIds
Step 2: GET /rest/{entity}?filter=id[in]:[id1,id2] → get full records
Quick Start
# List your contacts
curl -G "https://app.usedalil.ai/rest/people" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "limit=5"
# Create a company
curl -X POST "https://app.usedalil.ai/rest/companies" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Corp", "domainName": {"primaryLinkUrl": "https://acme.com", "primaryLinkLabel": "Website", "secondaryLinks": []}}'
# Search for a person by name (step 1: GraphQL)
curl -X POST "https://app.usedalil.ai/graphql" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "query Search($searchInput: String!) { search(searchInput: $searchInput, includedObjectNameSingulars: [\"person\"], limit: 5) { edges { node { recordId label } } } }",
"variables": {"searchInput": "Jane Doe"}
}'
Using the Skills Files with AI Agents
The .claude/skills/ files are designed to be passed directly into an AI agent's context. When you want an AI agent to perform a CRM operation, give it the relevant skill file and your API key.
Example prompt to an AI agent: