home / skills / openclaw / skills / attio-crm

attio-crm skill

/skills/kesslerio/attio-crm

This skill helps manage Attio CRM records by searching, creating, updating, and organizing companies, people, deals, tasks, and notes.

npx playbooks add skill openclaw/skills --skill attio-crm

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
2.7 KB
---
name: attio
description: Manage Attio CRM records (companies, people, deals, tasks, notes). Search, create, update records and manage deal pipelines.
metadata: {"moltbot":{"emoji":"📇","requires":{"bins":["attio"],"env":["ATTIO_ACCESS_TOKEN"]}}}
---

# Attio CRM

## Quick Commands

```bash
# 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

1. **Discover fields first** - Run `attio fields <type>` before updating records
2. **Check select options** - Run `attio options <type> <field>` for dropdown values
3. **Use internal values** - Select fields use internal names, not display labels
4. **When uncertain, use notes** - Put unstructured data in notes, not record fields
5. **Format data correctly** - Numbers as `85`, arrays as `["Value"]`, booleans as `true/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
```bash
attio search companies "Acme Corp"
```

### Get deal details
```bash
attio get deals "deal-uuid-here"
```

### Add meeting notes to company
```bash
attio note companies "company-uuid" "Meeting Notes" "Discussed pricing. Follow up next week."
```

### Check deal stages before updating
```bash
attio options deals stage
```

### Update deal stage
```bash
attio update deals "deal-uuid" record_data='{"stage":"negotiation"}'
```

## Pipeline Stages

**Never hard-code stage names.** Always check first:
```bash
attio options deals stage
```

Use the internal value (e.g., `negotiation`), not the display label (e.g., "Negotiation").

Overview

This skill manages Attio CRM records: companies, people, deals, and tasks. It lets you search, retrieve, create, update, and delete records, add and list notes, and inspect pipeline stages and field metadata. Use it to automate CRM updates and ensure data consistency across workflows.

How this skill works

The skill talks to Attio to list available fields and select options, search records by query, and perform CRUD operations on record types. It requires checking field definitions and dropdown internal values before updates, and it records unstructured information as notes when field mapping is unclear.

When to use it

  • Search contacts, companies, deals, or tasks quickly from scripts or automation.
  • Create or update records programmatically during data imports or integrations.
  • Inspect available fields and select options before changing records to avoid invalid values.
  • Add meeting notes or transaction comments to a record.
  • Manage deal pipelines by querying and updating deal stages.

Best practices

  • Always run attio fields <type> to discover available fields before updating records.
  • Use attio options <type> <field> to fetch valid internal values for select/dropdown fields.
  • Supply select fields using internal values (e.g., negotiation) — not display labels.
  • If data doesn’t map cleanly to fields, attach it as a note instead of forcing a field update.
  • Format payloads correctly: numbers as 85, arrays as ["Value"], booleans as true/false.

Example use cases

  • Search for a company by name and pull its detailed record before a customer call.
  • Add meeting notes to a company record after a sales meeting to preserve context.
  • List deal stages, then update a deal to the correct internal stage value during pipeline processing.
  • Batch-create people and associate them with companies when importing contacts from events.
  • Script automated cleanups that validate fields and remove or merge duplicates programmatically.

FAQ

How do I find valid values for a dropdown field?

Run attio options <type> <field> to return the internal option values; use those for updates.

What should I do if I don’t know which field to use for some data?

Create a note on the record with attio note <type> <id> "Title" "Content" rather than forcing a field update.