RedPlanetHQ / RedPlanetHQ/core
New Integration: Attio
Open
enhancement
good first issue
integration
new-feature
new-integration
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 194
- Avg merge
- 12m
- Merged PRs (30d)
- 2
Description
Description
Add Attio CRM integration to sync contacts, companies, deals, notes, and CRM activity into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/hubspot/- Similar CRM integrationintegrations/linear/- For project management patternsintegrations/github/- For webhook and event patterns
Required Files Structure
integrations/attio/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Attio API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Attio API Integration
Auth Setup
- Two authentication methods:
- Access Tokens - Scoped to a single workspace (simpler setup)
- OAuth 2.0 - Required for published integrations
- Access tokens generated from workspace settings with scoped permissions
Key Endpoints
- Objects API - CRUD operations on CRM objects (People, Companies, Deals, custom objects)
- Records API - Manage records within objects
- Lists API - Manage CRM lists and list entries
- Notes API - Create and manage notes on records
- Tasks API - Manage tasks associated with records
- Webhooks API - Subscribe to real-time CRM events
- Users API - Workspace user information
- Attributes API - Manage object attributes/fields
SDK Support
- Official SDKs for Node.js, TypeScript, PHP, .NET, Python, and Java
Events to Track
- Contacts/People - Contact created, updated, merged
- Companies - Company created, updated, enriched
- Deals - Deal created, stage changed, won, lost
- Notes - Note created, updated on records
- Tasks - Task created, completed, assigned
- Lists - List entries added, removed, updated
- Custom Objects - Custom object records created, updated
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts(or access token for simpler setup) - Create API utilities in
utils.tsfor Attio REST API - Implement sync logic in
schedule.tsfor contacts, companies, deals, and notes - Set up webhook handling for real-time CRM event notifications
- Convert Attio events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Attio uses a flexible data model with custom objects and attributes
- Two auth options: access tokens (workspace-scoped) and OAuth (for published integrations)
- Official SDKs available in 6 languages -- consider using the TypeScript SDK
- Attio Developer Platform supports embedding TypeScript React apps within the Attio UI
- Webhook support for real-time event notifications
- Custom objects make the data model flexible but require dynamic handling
Resources
Labels
enhancement, integration, new-feature
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.