Skip to main content

OAuth Flow Overview

1

Authorization Request

Redirect users to OrbitForms authorization page
2

User Consent

User reviews and approves requested permissions
3

Authorization Code

OrbitForms redirects back with an authorization code
4

Token Exchange

Exchange the code for access and refresh tokens
5

API Access

Use the access token to make API requests

Step 1: Build Authorization URL

Redirect users to the OrbitForms authorization endpoint with the following parameters:

Step 2: Exchange Code for Tokens

After the user authorizes your app, they’ll be redirected to your callback URL with an authorization code. Exchange this code for access and refresh tokens:
Response:
team_id is the workspace the person connected: the team_id on every record and webhook envelope. Store it with the tokens to tell one connected workspace from another; a person with several workspaces picks one on the consent screen, and a later authorization from the same person may name a different one.
Confidential and public clients. An app registered in the Developer Portal has a client_secret and sends it on every token request, as above. A public client (no secret, such as an MCP client that registered itself) must use PKCE instead: send code_challenge and code_challenge_method=S256 on the authorization request and code_verifier on the token request. A confidential client may add PKCE as well.

Step 3: Identify the Workspace

GET /api/v1/me returns the workspace and person behind a token, and the token’s scopes. Request team:read for the workspace’s name and slug and user:read for the person’s email and name; the ids come back either way.

Available Scopes

Request only the permissions your app needs. App Permissions groups the same scopes by area.

forms:read

View your forms, their fields and settings

forms:write

Create and update forms

forms:delete

Delete forms

submissions:read

View form submissions and the answers people gave

submissions:write

Change the answers stored on form submissions

submissions:delete

Delete form submissions and the files uploaded with them

contacts:read

View your contacts, their tags and your contact imports

contacts:write

Create, update, import and merge contacts and manage tags. An import can overwrite existing contacts’ details and add the companies and tags it names; a merge archives the duplicate contact

contacts:delete

Delete contacts

crm:read

View pipelines, stages, custom fields, CRM settings, saved views, your workspace members and teams (member groups), and who can see each pipeline

crm:write

Create, change and remove pipelines, stages, custom fields, saved views and teams (member groups); change CRM settings and who can see each pipeline

companies:read

View your companies

companies:write

Create, update and merge companies; a merge moves the duplicate company to Recently deleted

companies:delete

Delete companies

deals:read

View deals, their contacts and stage history, and pipeline totals

deals:write

Create, update and merge deals, move them between stages, and add or remove the contacts on a deal; a merge moves the duplicate deal to Recently deleted

deals:delete

Delete deals

tasks:read

View tasks

tasks:write

Create, update, complete and delete tasks

notes:read

View notes on contacts, companies and deals, and comments on notes and logged activity

notes:write

Create, edit and delete notes, and comment on notes and logged activity

activities:read

View each record’s timeline and the logged and synced emails on it (including email synced from members’ connected Gmail or Outlook mailboxes), calls, meetings, messages and notes, including email bodies, and activity imports

activities:write

Log, edit and delete emails, calls, meetings and messages on contacts, companies and deals, and import activity history in bulk; an admin can undo an import, which deletes everything it created. Nothing is sent: these record what already happened

files:read

View the files on contacts, companies and deals and download them

files:write

Attach files to contacts, companies and deals, fetch files from URLs you provide into the workspace, and delete files

workflows:read

View workflows, their runs and AI agent templates

workflows:write

Create, update, activate, pause and run workflows, and manage AI agent templates. Active and running workflows carry out their steps, which can email people, enroll contacts in sequences, change CRM records and send data to connected apps and webhooks

workflows:delete

Delete workflows and AI agent templates

dialer:read

View dialer settings, the workspace’s phone numbers and who each is assigned to, calling costs, call lists, dialing sessions, calls with their outcomes and notes, call statistics, call transcripts and AI coaching feedback, call scripts, voicemail greeting details and the do-not-call list

dialer:write

Change dialer settings (including turning call recording, paid transcription and AI feedback on or off), assign the workspace’s phone numbers to members, set call outcomes and notes, write and delete call scripts, permanently delete call recordings and transcripts, and add or remove do-not-call numbers. Never places calls, buys numbers or changes billing

meetings:read

View meetings and who they are with

meetings:write

Book meetings on your team’s calendars, which sends calendar invites to the attendee, and change a meeting’s status (including cancelling it, which tells the attendee) and notes

meetings:delete

Delete meetings

scheduling:read

View scheduling pages, event types, availability schedules and open booking slots

scheduling:write

Create and update scheduling pages and event types

scheduling:delete

Delete scheduling pages and event types

sequences:read

View email sequences, their steps, enrollments, analytics and unsubscribes, and email templates and snippets

sequences:write

Enroll contacts in email sequences, which then emails them, add addresses to the unsubscribe list, and create, edit and delete email templates and snippets

sequences:manage

Create email sequences, write and change their steps, settings and sender, and activate or pause them. An active sequence emails everyone enrolled in it

sequences:delete

Remove contacts from email sequences

emails:read

View the one-to-one emails your team sends contacts from Orbit: sender, recipient, subject, message and whether each was delivered, opened, replied to or bounced

emails:send

Send emails to your contacts from your Orbit sending address. Each email reaches someone outside the workspace and can’t be unsent

webhooks:read

View webhook subscriptions and the URLs they deliver to

webhooks:write

Create, change and delete webhooks that send events about forms, contacts, companies, deals, tasks, meetings and calls to any URL. Subscribing to an object also needs its read scope

integrations:read

See which apps are connected to your workspace and whether they are syncing. Never their passwords, keys or tokens

team:read

View your workspace’s name and URL slug

analytics:read

View form analytics: views, submissions and conversion rates, by day and by traffic source, device and country

user:read

View your name and email address

Security Best Practices

Keep secrets secure

Never expose your Client Secret in client-side code or version control.

Use state parameter

Always include a random state string to prevent CSRF attacks.

Handle token refresh

Use refresh tokens to get new access tokens before they expire.

Validate redirect URIs

Only use pre-registered callback URLs to prevent open redirect vulnerabilities.

Next Steps

App Permissions

Learn about permission scopes

API Reference

Explore available endpoints