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: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