canonical: https://jentic.com/apis/accelo.com/accelo

# Accelo API

The Accelo API provides programmatic access to the Accelo professional services automation platform, covering activities, companies, contacts, and staff. Activities (the core unit of work in Accelo, covering meetings, emails, calls, and tasks) can be created, retrieved, updated, and deleted, while company and contact endpoints expose the underlying CRM data. The API uses OAuth 2.0 against a per-tenant subdomain at {deployment}.api.accelo.com. It is used by services firms - agencies, consultancies, IT shops - to integrate time tracking, billing, and CRM with their other tools.

## For AI agents

Log activities, manage companies and contacts, and read staff data in Accelo so agents can automate timekeeping, status updates, and CRM hygiene for professional services firms.

## Scope

Does not handle invoicing, retainer tracking, or ticket workflows in this spec - use for activities, companies, contacts, and staff operations on Accelo only.

## Capabilities

- Log a new activity (meeting, email, call, task) against a company, contact, or job
- Retrieve activity detail by id, including time logged and billing class
- Update an activity's subject, time, or visibility after it was created
- List companies in the Accelo tenant with filter parameters
- Look up contact records to attach activities or follow-ups
- Retrieve staff records for assignment and reporting

## Use cases

### Auto-Logging Client Meetings from a Calendar

A calendar integration listens for meetings tagged as billable and posts them as Accelo activities via POST /api/v0/activities. Each activity records subject, time, and the linked company or contact. Consultants stop manually copying meeting time into Accelo at week's end and billing accuracy improves.

Example prompt: Create an Accelo activity for a 45-minute client meeting linked to the client's company id and the consultant's staff id

### Email Capture Into Accelo Activities

An email client plugin pushes outbound and inbound emails to Accelo as activities so the firm has a single timeline per client. POST /api/v0/activities creates the activity with the email body and direction, while GET /api/v0/contacts resolves the contact id by email address. Project leads see all client correspondence in Accelo without searching individual mailboxes.

Example prompt: Look up the contact by email address and log an inbound email body as an activity against that contact

### Cross-Tool Status Reporting

A weekly status reporting tool pulls activities by company across all clients and aggregates time, owner, and status into a slide deck. It calls GET /api/v0/activities with company filters for each top client. The result is a status dashboard that does not require staff to fill out a separate weekly report.

Example prompt: Aggregate activities for company id 123 over the last 7 days, grouped by staff member, with total time logged

### Agent-Driven Activity Logging via Jentic

An AI assistant inside a consultancy Slack workspace posts activities to Accelo whenever a consultant says 'log 30 minutes on Acme review'. The agent searches Jentic for the right operation, looks up the company id, and posts the activity - all without the consultant ever opening Accelo's UI.

Example prompt: Through Jentic, search 'log a new activity in Accelo', resolve the company by name, and create a 30-minute activity

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/v0/activities | List activities with filters |
| POST | /api/v0/activities | Create a new activity |
| GET | /api/v0/activities/{activity_id} | Retrieve a specific activity |
| PUT | /api/v0/activities/{activity_id} | Update an activity |
| DELETE | /api/v0/activities/{activity_id} | Delete an activity |
| GET | /api/v0/companies | List companies |
| POST | /oauth2/v0/token | Exchange an OAuth code for an access token |

## Key resources

- **Activities** — Core unit of work in Accelo - meetings, emails, calls, and tasks. Full CRUD with time and billing class fields
- **Companies** — Client company records with filters for listing and lookup
- **Contacts** — Individual contact records linked to companies
- **Staff** — Internal staff records used for assignment and reporting
- **OAuth** — OAuth 2.0 authorization, token, and revoke endpoints

## Why Jentic

- **Setup:** Wiring the Accelo API by hand means brokering its OAuth flow, resolving the per-deployment subdomain in the base URL, and refreshing tokens yourself. Through Jentic you install once, import the Accelo API from the API Directory, store the OAuth client credentials once, and your agent calls it.
- **Permission scoping:** Accelo puts the activity id in the URL path (/api/v0/activities/{activity_id}), so a rule can pin your agent to one activity: it can read and update that activity and nothing else. You choose the operations it may call, so deleting an activity is not included unless you add it.
- **Credential handling:** Your Accelo OAuth client credentials and deployment subdomain are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'log a new activity in Accelo', and Jentic returns the matching operation with its input schema, with the deployment subdomain template handled at execution time, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Clockify API** — Time tracking API for individuals and teams - narrower scope than Accelo's PSA platform.
- **Toggl Track API** — Pure time tracking API for individuals and small teams.
- **HubSpot API** — Sync contact and company records between HubSpot CRM and Accelo PSA.

## FAQ

### What authentication does the Accelo API use?

OAuth 2.0 with /oauth2/v0/authorize and /oauth2/v0/token endpoints, scoped per Accelo deployment subdomain ({deployment}.api.accelo.com). Through Jentic, the OAuth flow is brokered and tokens are stored encrypted in the vault.

### Can I log time and meetings as activities through the Accelo API?

Yes. POST /api/v0/activities creates an activity with subject, time, and link to a company, contact, or job. PUT updates the same fields and DELETE removes the activity. This is the canonical way to record billable and non-billable work in Accelo programmatically.

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

The OpenAPI spec does not document explicit rate limits. Accelo applies per-deployment limits described in their developer documentation, and limits are scoped to OAuth tokens. Implement exponential backoff on HTTP 429 responses.

### How do I log an activity through Jentic?

Run pip install jentic, then search 'log a new activity in Accelo'. Jentic returns POST /api/v0/activities with the input schema. Load it, supply the company id, time, and subject, and execute. The deployment subdomain and OAuth token are handled by Jentic's execution layer.

### Does the Accelo API expose jobs, retainers, and tickets?

The endpoints in this spec focus on activities, companies, contacts, and staff. Jobs, retainers, and tickets are part of the broader Accelo platform and are not present in this OpenAPI surface. For those resources, use the Accelo developer portal and the activity links to jobs.

### Is the Accelo API free to use?

API access is included with paid Accelo deployments - there is no separate API charge, but you need an active Accelo subscription. OAuth client registration is done through the Accelo deployment's admin settings.

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

Yes. Because Jentic One is self-hosted, you set the rules that decide which Accelo operations and OAuth credentials your agent may use. Accelo puts the activity id in the URL path (/api/v0/activities/{activity_id}), so a rule can pin the agent to a single activity and let it only read and update that record. You choose the operations it can call, so deleting an activity or listing companies is excluded unless you explicitly allow it.
