Skip to main content

Adrata Developers

Data Model

Adrata uses a small set of durable GTM primitives so sellers, managers, leaders, RevOps teams, and agents can work from the same source of truth.

PrimitiveUseKey APIs
CompanyAccount, customer, prospect, or organization. Companies are the account-level anchor for enrichment, opportunities, buyer rooms, activity, and analytics./api/v1/companies
PersonLead, contact, buyer, champion, connector, manager, or customer stakeholder. Lead is a person status, not a separate object model./api/v1/people
OpportunityDeal, renewal, expansion, cross-sell, upsell, or retention motion. Opportunities attach to companies and can be advanced safely with idempotent writes./api/v1/opportunities
ActionTask, activity, email, call, meeting, note, follow-up, or logged interaction. Actions drive daily execution and manager review./api/v1/actions
Buyer roomThe buying committee for a company or opportunity, including champions, blockers, economic buyers, and technical evaluators./api/v1/buyer-groups
Network introRelationship paths, connectors, intro requests, and intro pipeline health for warm acquisition and expansion motions./api/v1/network
Webhook eventSigned GTM lifecycle event for external automation, observability, and partner workflows./api/v1/webhooks

Naming rules

Use `companies` and `people` as the foundation. `lead` is a person status. `account` and `customer` are business contexts for a company, not separate concepts developers need to learn first.

Use `opportunity` for deals, renewals, expansion, and retention motions. Use `action` for anything a human or agent does next or has already completed.

Create a complete record path
const company = await adrata.companies.create({ name: 'Acme', domain: 'acme.com' });
const person = await adrata.people.create({ firstName: 'Jane', lastName: 'Doe', companyId: company.data.id, status: 'LEAD' });
const opportunity = await adrata.opportunities.create({ name: 'Acme expansion', companyId: company.data.id, stage: 'mapping' });
await adrata.actions.create({ title: 'Follow up with Jane', personId: person.data.id, companyId: company.data.id, type: 'task' });