canonical: https://jentic.com/apis/onboard.io/onboard

# Onboard API - Complete Specification

The Onboard API runs customer onboarding projects in Onboard, from the customer company and its members through project plans, tasks, milestones, and the people on each side of the onboarding. It creates and updates customers and companies with external ids for Salesforce and HubSpot, opens projects and their task lists, assigns onboarder and onboardee users to a project, and reads project insights and assessment history. Reusable roadmaps and task templates seed new projects, communication records log customer touchpoints, a knowledge base holds collections and sources, and webhook subscriptions push Onboard events to your own URL. The spec is generated from the Onboard backend and many operations carry only their method and path as a summary.

## For AI agents

Create Onboard customers and projects, add and update onboarding tasks, assign onboarder and onboardee users, log communication records, and subscribe to Onboard events by webhook.

## Scope

Does not process payments, send marketing campaigns, or manage sales pipelines and deals. Use for running customer onboarding projects, tasks, and touchpoints in Onboard only.

## Capabilities

- Create a customer or company by name with website, external_id, sf_account_id, and hubspot_company_id, and add its members by email
- Open an onboarding project, list its tasks, and add or update tasks under `/projects/{id}/tasks`
- Assign onboarder and onboardee users to a project and send them an invite
- Read a project's insights summary and assessment history, or export projects and Gantt views
- Log a communication record with title, company, data_source, owner, and date, and mark records read or archived
- Subscribe a target URL to an Onboard event_type such as map-created, with automatic_retry
- Maintain reusable roadmaps, tasks, and milestones with code, value_rating, and threshold_days

## Use cases

### Onboarding copilot agent

A customer success manager's agent keeps onboarding projects moving without clicking through the app. Through Jentic it searches for 'list tasks on an onboarding project', loads the Onboard project tasks operation, and reads what is open, then adds a follow-up task on the same project, with the API key attached at call time. It can also read the project's insights summary before a check-in call.

Example prompt: Call GET `/projects/{id}/tasks` for the customer's project, then POST `/projects/{id}/tasks` with name 'Schedule data import review' and read GET `/projects/{id}/insights/summary`

### CRM-to-onboarding handoff

When a deal closes, the new customer and its first users should appear in Onboard with the CRM ids attached. POST /customers creates the customer by name with website, external_id, sf_account_id, or hubspot_company_id, POST `/customers/{id}/members` adds people by email, and POST /projects opens the onboarding project. POST `/projects/{project_id}/onboardee-users` then puts the customer's users on the project.

Example prompt: POST /customers with name 'Acme Ltd', website 'https://acme.example', and sf_account_id '0015g00000ABCDE', then POST `/customers/{id}/members` with first_name, last_name, and email for the admin

### Customer touchpoint log

Account teams keep a record of calls and emails against each customer. POST /communication-records logs a touchpoint with the required title, company, data_source, owner, and date, optionally linked to a project, and POST `/communication-records/bulk` adds several at once. GET `/communication-records/facets` and GET `/communication-records/export` support review and reporting.

Example prompt: POST /communication-records with title 'Kickoff call', the company id, a data_source value, the owner id, and today's date

### Event-driven sync by webhook

To keep another system current, POST `/hooks/subscriptions` registers a target URL for an event_type, with automatic_retry and is_enabled flags. GET `/hooks/events` lists the event types available, and subscriptions can be updated or removed by id, so a data warehouse or CRM hears about Onboard changes without polling.

Example prompt: Call GET `/hooks/events` to list event types, then POST `/hooks/subscriptions` with target 'https://example.com/onboard-hook', event_type 'map-created', and automatic_retry true

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/customers` | Create a customer |
| POST | `/projects` | Create an onboarding project |
| GET | `/projects/{id}/tasks` | List a project's tasks |
| POST | `/projects/{id}/tasks` | Add a task to a project |
| POST | `/projects/{project_id}/onboardee-users` | Add an onboardee to a project |
| GET | `/projects/{id}/insights/summary` | Get a project insights summary |
| POST | `/communication-records` | Log a communication record |
| POST | `/hooks/subscriptions` | Create a webhook subscription |

## Key resources

- **Customers and companies** — Customer and company records with CRM external ids and their members
- **Projects** — Onboarding projects with tasks, onboarder and onboardee users, insights, assessment history, and exports
- **Roadmaps, tasks, and milestones** — Reusable plans, task definitions, and milestones that seed onboarding projects
- **Communication records** — Logged customer touchpoints with read, archive, bulk, facet, and export routes
- **Webhooks and knowledge base** — Event subscriptions to your own URLs, and knowledge base collections and sources

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 0 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 45 / 100
  - Developer Experience & Jentic Compatibility: 65 / 100
  - AI-Readiness & Agent Experience: 32 / 100
  - Agent Usability: 43 / 100
  - Security: 50 / 100
  - AI Discoverability: 0 / 100
- **View full report:** https://jentic.com/apis/onboard.io/onboard/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Onboard by hand means sending the API key raw in the Authorization header, working through a large generated spec with terse summaries, and chaining customer, project, and user calls in the right order. Through Jentic you install once, import Onboard from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Onboard puts the project id in the URL path (`/projects/{id}/tasks` and `/projects/{project_id}/onboardee-users`), so a rule can pin your agent to one project and the operations you pick on it. You choose the operations, so destructive ones like deleting a customer or a project are not included unless you add them.
- **Credential handling:** Your Onboard API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'add a task to an onboarding project' or 'create a customer', and Jentic returns the matching Onboard operation with its input schema, so the agent finds the right route among the large spec without browsing it.

## Related APIs

- **Rocketlane API** — Customer onboarding and professional services projects
- **ChurnZero REST API** — Customer success health scores and engagement tracking
- **HubSpot Companies** — Company records in the HubSpot CRM

## FAQ

### What authentication does the Onboard API use?

Per its OpenAPI spec, the Onboard API uses an API key sent in the Authorization header, and the spec notes that no Token prefix is needed. The spec applies this key to its operations globally. Through Jentic the key is stored by your own instance and attached at call time, so the agent never handles it.

### Can I create a customer with its CRM ids through the Onboard API?

Yes. POST /customers takes a required name plus optional fields including website, external_id, sf_account_id, and hubspot_company_id, so the Onboard record links back to Salesforce or HubSpot. POST `/customers/{id}/members` then adds people with first_name, last_name, and email.

### What are the rate limits for the Onboard API?

The OpenAPI spec does not specify rate limits. Check the Onboard documentation at https://onboard.io for current limits.

### Is there an Onboard MCP server?

You don't need an MCP server to give your agent Onboard. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the project, task, and customer operations it needs on demand without loading another server's tool definitions into its context.

### How do I add a task to an onboarding project through Jentic?

Search Jentic for 'add a task to an onboarding project', load the Onboard project tasks create operation, and execute it with the project id in the path and the task name and description in the body. Jentic attaches your API key. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Why do so many Onboard operations have short summaries?

The spec is generated from the Onboard backend, and many operations carry only their method and path, such as GET `/projects/{id}/insights/summary`, as the summary. The request body schemas are still declared, so field names like sf_account_id or event_type come from the spec, but check Onboard's own documentation for behaviour the spec does not describe.

### Can I limit what my agent is allowed to do with the Onboard API?

Yes. Write a rule that allows only GET and POST on `/projects/{id}/tasks` for one project id, and the agent can read and add tasks on that project but cannot touch other projects, delete customers, or change webhooks, and every call it makes is logged.
