attio-crm

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Attio CRM

Attio CRM

Overview

概述

Interact with Attio CRM to manage companies, contacts, notes, and deals programmatically.
通过编程方式与Attio CRM交互,管理企业、联系人、笔记及交易记录。

Quick Decision Tree

快速决策树

What do you need?
├── Get/search companies
│   └── references/api-guide.md
│   └── Script: scripts/attio_api.py get-company / search-companies
├── Create/update company
│   └── Script: scripts/attio_api.py create-company / update-company
├── Create/link contacts
│   └── Script: scripts/attio_api.py create-person
├── Add notes to records
│   └── Script: scripts/attio_api.py create-note
└── Parse Attio URLs
    └── Script: scripts/attio_api.py parse-url
What do you need?
├── Get/search companies
│   └── references/api-guide.md
│   └── Script: scripts/attio_api.py get-company / search-companies
├── Create/update company
│   └── Script: scripts/attio_api.py create-company / update-company
├── Create/link contacts
│   └── Script: scripts/attio_api.py create-person
├── Add notes to records
│   └── Script: scripts/attio_api.py create-note
└── Parse Attio URLs
    └── Script: scripts/attio_api.py parse-url

Environment Setup

环境配置

bash
undefined
bash
undefined

Required in .env

Required in .env

ATTIO_API_KEY=your_api_key_here

Get your API key: Attio Settings → Developers → API Keys
ATTIO_API_KEY=your_api_key_here

获取API密钥:进入Attio设置 → 开发者 → API密钥

Required Scopes

所需权限范围

ScopeOperations
record:read
Get/search companies and people
record:write
Create/update companies and people
note:read
List and get notes
note:write
Create and delete notes
权限范围操作内容
record:read
获取/搜索企业及联系人
record:write
创建/更新企业及联系人
note:read
查看及获取笔记
note:write
创建及删除笔记

Common Usage

常见用法

Search Companies

搜索企业

bash
python scripts/attio_api.py search-companies "Acme Corp" --limit 10
bash
python scripts/attio_api.py search-companies "Acme Corp" --limit 10

Get Company

获取企业信息

bash
python scripts/attio_api.py get-company <record_id>
bash
python scripts/attio_api.py get-company <record_id>

Create Company

创建企业

bash
python scripts/attio_api.py create-company "Microsoft" --domain "microsoft.com"
bash
python scripts/attio_api.py create-company "Microsoft" --domain "microsoft.com"

Create Contact

创建联系人

bash
python scripts/attio_api.py create-person "john@acme.com" --first-name "John" --last-name "Smith"
bash
python scripts/attio_api.py create-person "john@acme.com" --first-name "John" --last-name "Smith"

Add Note

添加笔记

bash
python scripts/attio_api.py create-note <record_id> "Meeting Notes" "Discussion summary..."
bash
python scripts/attio_api.py create-note <record_id> "Meeting Notes" "Discussion summary..."

Rate Limits

请求速率限制

  • 100 requests per minute
  • Automatic retry with exponential backoff
  • 每分钟最多100次请求
  • 支持指数退避自动重试

Cost

成本

Free - Attio API has generous free tier.
免费 - Attio API提供充裕的免费使用层级。

Security Notes

安全注意事项

Credential Handling

凭证管理

  • Store
    ATTIO_API_KEY
    in
    .env
    file (never commit to git)
  • Generate keys in Attio: Settings > Developers > API Keys
  • Rotate keys periodically or if compromised
  • Never log or print API keys in script output
  • ATTIO_API_KEY
    存储在
    .env
    文件中(绝对不要提交至git仓库)
  • 在Attio中生成密钥:设置 > 开发者 > API密钥
  • 定期轮换密钥,或在密钥泄露时立即轮换
  • 切勿在脚本输出中记录或打印API密钥

Data Privacy

数据隐私

  • CRM contains sensitive customer and prospect information
  • Company records include business details and contact info
  • People records contain PII (names, emails, phone numbers)
  • Notes may contain confidential meeting discussions
  • Avoid exporting full CRM data unnecessarily
  • CRM包含敏感的客户及潜在客户信息
  • 企业记录包含业务详情及联系信息
  • 联系人记录包含个人身份信息(姓名、邮箱、电话号码)
  • 笔记可能包含机密的会议讨论内容
  • 避免不必要地导出完整CRM数据

Access Scopes

访问权限范围

  • Request minimum required scopes:
    • record:read
      - Read companies and people (read-only)
    • record:write
      - Create/update records (write access)
    • note:read
      - Read notes (read-only)
    • note:write
      - Create notes (write access)
  • API keys can be scoped to specific permissions
  • 请求所需的最小权限范围:
    • record:read
      - 读取企业及联系人(只读权限)
    • record:write
      - 创建/更新记录(写入权限)
    • note:read
      - 读取笔记(只读权限)
    • note:write
      - 创建笔记(写入权限)
  • API密钥可限定为特定权限

Compliance Considerations

合规性注意事项

  • PII Protection: Customer data is subject to privacy regulations
  • GDPR: EU customer data requires GDPR compliance
  • Data Minimization: Only access/export data you need
  • Audit Trail: Log CRM operations for compliance auditing
  • Data Retention: Follow organizational data retention policies
  • Access Control: Limit API key distribution to authorized users
  • Customer Consent: Ensure proper consent for data processing
  • 个人身份信息保护:客户数据需符合隐私法规要求
  • GDPR:欧盟客户数据需遵守GDPR合规规定
  • 数据最小化:仅访问/导出您实际需要的数据
  • 审计追踪:记录CRM操作以满足合规审计要求
  • 数据保留:遵循组织的数据保留政策
  • 访问控制:限制API密钥仅分发给授权用户
  • 客户同意:确保数据处理已获得适当的客户同意

Troubleshooting

故障排查

Common Issues

常见问题

Issue: Invalid field ID / slug

问题:无效的字段ID / 别名

Symptoms: "Field not found" or "Invalid attribute" error Cause: Field slug doesn't match Attio workspace configuration Solution:
  • Check field slugs in Attio: Settings > Objects > Fields
  • Field slugs are case-sensitive (e.g.,
    company_name
    not
    Company_Name
    )
  • Custom fields have unique slugs - verify exact spelling
  • Use API to list available fields if unsure
症状: 出现“字段未找到”或“无效属性”错误 原因: 字段别名与Attio工作区配置不匹配 解决方案:
  • 在Attio中检查字段别名:设置 > 对象 > 字段
  • 字段别名区分大小写(例如:
    company_name
    而非
    Company_Name
  • 自定义字段具有唯一别名,请验证拼写完全一致
  • 若不确定,可使用API列出可用字段

Issue: Rate limited

问题:触发速率限制

Symptoms: 429 status code or "rate limit exceeded" Cause: Exceeding 100 requests per minute limit Solution:
  • Implement exponential backoff between requests
  • Batch multiple operations into single requests where possible
  • Add delays (600ms+) between consecutive requests
  • Queue requests and process gradually
症状: 收到429状态码或“请求速率超出限制”错误 原因: 超出每分钟100次请求的限制 解决方案:
  • 在请求之间实现指数退避机制
  • 尽可能将多个操作合并为单个请求
  • 在连续请求之间添加延迟(600毫秒以上)
  • 将请求加入队列并逐步处理

Issue: Record not found

问题:记录未找到

Symptoms: "Record not found" error with known record Cause: Invalid record ID, deleted record, or wrong object type Solution:
  • Verify record ID from Attio URL or previous API response
  • Check if record was deleted or merged
  • Ensure using correct object type (companies vs people)
  • Use search endpoint to find record by name/email
症状: 已知记录出现“记录未找到”错误 原因: 无效的记录ID、记录已删除或对象类型错误 解决方案:
  • 从Attio URL或之前的API响应中验证记录ID
  • 检查记录是否已删除或合并
  • 确保使用正确的对象类型(企业 vs 联系人)
  • 使用搜索端点通过名称/邮箱查找记录

Issue: API key invalid

问题:API密钥无效

Symptoms: 401 Unauthorized or "invalid API key" Cause: Key expired, revoked, or incorrectly configured Solution:
  • Regenerate API key in Attio: Settings > Developers > API Keys
  • Verify
    ATTIO_API_KEY
    is correctly set in
    .env
  • Check for leading/trailing whitespace in key
  • Ensure key has required scopes for operation
症状: 收到401未授权或“无效API密钥”错误 原因: 密钥已过期、被吊销或配置错误 解决方案:
  • 在Attio中重新生成API密钥:设置 > 开发者 > API密钥
  • 验证
    .env
    文件中
    ATTIO_API_KEY
    的配置是否正确
  • 检查密钥是否存在前导/尾随空格
  • 确保密钥具备操作所需的权限范围

Issue: Insufficient permissions

问题:权限不足

Symptoms: "Forbidden" error or missing data Cause: API key missing required scopes Solution:
  • Review key scopes in Attio: Settings > Developers > API Keys
  • Create new key with required scopes (
    record:read
    ,
    record:write
    , etc.)
  • For notes: ensure
    note:read
    and
    note:write
    scopes
  • Workspace admin may need to grant additional permissions
症状: 出现“禁止访问”错误或数据缺失 原因: API密钥缺少所需的权限范围 解决方案:
  • 在Attio中查看密钥权限范围:设置 > 开发者 > API密钥
  • 创建具备所需权限范围的新密钥(
    record:read
    record:write
    等)
  • 对于笔记操作:确保拥有
    note:read
    note:write
    权限范围
  • 可能需要工作区管理员授予额外权限

Issue: Duplicate record created

问题:创建重复记录

Symptoms: Same company/person appears multiple times Cause: No deduplication on create, or different field values Solution:
  • Search before creating to check for existing records
  • Use primary identifier (domain for companies, email for people)
  • Consider using update-or-create pattern
  • Merge duplicates manually in Attio UI
症状: 同一企业/联系人多次出现 原因: 创建操作未去重,或字段值不同 解决方案:
  • 创建前先搜索,检查是否存在现有记录
  • 使用唯一标识(企业用域名,联系人用邮箱)
  • 考虑使用“更新或创建”模式
  • 在Attio界面中手动合并重复记录

Resources

资源

  • references/api-guide.md - Complete API documentation
  • references/integration.md - CRM integration patterns
  • references/api-guide.md - 完整API文档
  • references/integration.md - CRM集成模式

Integration Patterns

集成模式

Meeting Notes to CRM

会议笔记同步至CRM

Skills: transcript-search → attio-crm Use case: Add meeting summaries to company records Flow:
  1. Search transcript-search for client meetings
  2. Extract key points, action items, and summary
  3. Create note on Attio company record with meeting details
关联技能: transcript-search → attio-crm 使用场景: 将会议摘要添加至企业记录 流程:
  1. 使用transcript-search搜索客户会议记录
  2. 提取关键点、行动项及摘要
  3. 在Attio企业记录中创建包含会议详情的笔记

Research to CRM

调研数据同步至CRM

Skills: parallel-research → attio-crm Use case: Enrich CRM records with research data Flow:
  1. Run parallel-research on company for latest info
  2. Extract funding, team size, tech stack, news
  3. Update Attio company record with enriched fields
关联技能: parallel-research → attio-crm 使用场景: 用调研数据丰富CRM记录 流程:
  1. 对企业运行parallel-research获取最新信息
  2. 提取融资情况、团队规模、技术栈、新闻动态
  3. 更新Attio企业记录,补充丰富字段

Voice Agent to CRM

语音Agent同步至CRM

Skills: voice-agents → attio-crm Use case: Log AI call summaries to CRM Flow:
  1. Voice agent completes discovery or feedback call
  2. Extract call summary and key insights
  3. Add note to Attio record with call summary and next steps
关联技能: voice-agents → attio-crm 使用场景: 将AI通话摘要记录至CRM 流程:
  1. Voice Agent完成发现或反馈通话
  2. 提取通话摘要及关键见解
  3. 在Attio记录中添加包含通话摘要及后续步骤的笔记