Attio CRM
@kesslerio
npx machina-cli add skill @kesslerio/attio-crm --openclawAttio CRM
Quick Commands
# Search for records
attio search companies "Acme"
attio search deals "Enterprise"
attio search people "John"
# Get record details by ID
attio get companies "record-uuid"
attio get deals "record-uuid"
# Add a note to a record
attio note companies "record-uuid" "Title" "Note content here"
# List notes on a record
attio notes companies "record-uuid"
# See available fields for a record type
attio fields companies
attio fields deals
# Get select field options (e.g., deal stages)
attio options deals stage
Golden Rules
- Discover fields first - Run
attio fields <type>before updating records - Check select options - Run
attio options <type> <field>for dropdown values - Use internal values - Select fields use internal names, not display labels
- When uncertain, use notes - Put unstructured data in notes, not record fields
- Format data correctly - Numbers as
85, arrays as["Value"], booleans astrue/false
Workflow Index
Load these references as needed:
- Company workflows -
references/company_workflows.md - Deal workflows -
references/deal_workflows.md - Field guide -
references/field_guide.md
Command Reference
| Command | Description |
|---|---|
attio search <type> "<query>" | Search records |
attio get <type> <id> | Get record details |
attio update <type> <id> record_data='{...}' | Update record |
attio create <type> record_data='{...}' | Create record |
attio delete <type> <id> | Delete record |
attio note <type> <id> "<title>" "<content>" | Add note |
attio notes <type> <id> | List notes |
attio fields <type> | List available fields |
attio options <type> <field> | Get select options |
Record types: companies, people, deals, tasks
Common Workflows
Look up a company
attio search companies "Acme Corp"
Get deal details
attio get deals "deal-uuid-here"
Add meeting notes to company
attio note companies "company-uuid" "Meeting Notes" "Discussed pricing. Follow up next week."
Check deal stages before updating
attio options deals stage
Update deal stage
attio update deals "deal-uuid" record_data='{"stage":"negotiation"}'
Pipeline Stages
Never hard-code stage names. Always check first:
attio options deals stage
Use the internal value (e.g., negotiation), not the display label (e.g., "Negotiation").
Overview
Manage Attio CRM records across companies, people, deals, and tasks, including creating, updating, and searching records. It also supports adding notes and listing notes, plus inspecting deal pipelines and field options to guide updates. This helps keep CRM data accurate and pipelines transparent.
How This Skill Works
The skill uses commands like attio search, attio get, attio update, and attio create to interact with Attio CRM records. It includes utilities to fetch available fields and option values before updates, and to store unstructured data in notes when unsure.
When to Use It
- When you need to locate a company, person, deal, or task quickly.
- When updating a deal stage, after verifying the internal value via attio options.
- When adding context from meetings or calls, use notes on a record.
- When preparing to update a record, first run attio fields to discover available fields.
- When you need to review a record's field options or fetch details.
Quick Start
- Step 1: attio search companies "Acme Corp"
- Step 2: attio fields deals
- Step 3: attio update deals "deal-uuid" record_data='{"stage":"negotiation"}'
Best Practices
- Discover fields first with `attio fields <type>` before attempting updates.
- Check select options with `attio options <type> <field>` to know valid values.
- Use internal values for selects (e.g., `negotiation` instead of 'Negotiation').
- When uncertain, capture information in notes rather than in fields.
- Format data correctly: numbers as 85, arrays as ["Value"], booleans as true/false.
Example Use Cases
- Search for a company: attio search companies "Acme Corp"
- Get deal details: attio get deals "deal-uuid-here"
- Add meeting notes to a company: attio note companies "company-uuid" "Meeting Notes" "Discussed pricing. Follow up next week."
- Check deal stages before updating: attio options deals stage
- Update deal stage using internal value: attio update deals "deal-uuid" record_data='{"stage":"negotiation"}'