Adrata Developers
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.
| Primitive | Use | Key APIs |
|---|---|---|
| Company | Account, customer, prospect, or organization. Companies are the account-level anchor for enrichment, opportunities, buyer rooms, activity, and analytics. | /api/v1/companies |
| Person | Lead, contact, buyer, champion, connector, manager, or customer stakeholder. Lead is a person status, not a separate object model. | /api/v1/people |
| Opportunity | Deal, renewal, expansion, cross-sell, upsell, or retention motion. Opportunities attach to companies and can be advanced safely with idempotent writes. | /api/v1/opportunities |
| Action | Task, activity, email, call, meeting, note, follow-up, or logged interaction. Actions drive daily execution and manager review. | /api/v1/actions |
| Buyer room | The buying committee for a company or opportunity, including champions, blockers, economic buyers, and technical evaluators. | /api/v1/buyer-groups |
| Network intro | Relationship paths, connectors, intro requests, and intro pipeline health for warm acquisition and expansion motions. | /api/v1/network |
| Webhook event | Signed GTM lifecycle event for external automation, observability, and partner workflows. | /api/v1/webhooks |
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.
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' });