RedPlanetHQ/core

New Integration: Attio

Aberta

#528 aberto em 24 de fev. de 2026

 (1 comentário) (0 reação) (1 responsável)TypeScript (184 forks)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Métricas do repositório

Stars
 (1.930 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

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 integration
  • integrations/linear/ - For project management patterns
  • integrations/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:
    1. Access Tokens - Scoped to a single workspace (simpler setup)
    2. 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

  1. Contacts/People - Contact created, updated, merged
  2. Companies - Company created, updated, enriched
  3. Deals - Deal created, stage changed, won, lost
  4. Notes - Note created, updated on records
  5. Tasks - Task created, completed, assigned
  6. Lists - List entries added, removed, updated
  7. Custom Objects - Custom object records created, updated

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts (or access token for simpler setup)
  • Create API utilities in utils.ts for Attio REST API
  • Implement sync logic in schedule.ts for 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

Guia do colaborador