Quick Start
Choose a path
| Goal | Guide |
|---|---|
| Post alerts into a group (CI/CD, monitoring) | Notification bot |
| Receive messages and reply | Interactive bot, Grok Bot |
| Ask AI about meetings / chat (MCP) | AI agent / MCP |
| Automate without writing code | Webhook Relays, Zapier, GitHub Actions |
| Let visitors book time in a public lobby | Lobby agents |
| Show that someone is on a call / in an external meeting | External activity |
| Mirror HR absences (vacation, sick leave) into Roam | Will Return / Out of Roam |
| Grant a client email limited access hosted by a member | Guest Badges |
About Roam HQ
Roam HQ is an all-in-one virtual office for distributed teams: chat, video meetings, transcripts, and a shared map headquarters.
For third-party OAuth (authorize URL, code exchange, refresh, token lifetimes), see the OAuth & Authentication guide. For the full scope list, see Scopes.
Creating an Application
In the Roam settings, visit the “Developer” tab. On this page, you can view all the apps created.
To access the API, you need to create an Application.
- Navigate to Roam Administration > Developer (by clicking the gear icon labeled Settings at the bottom right of the map). The list of API clients is displayed.
- Click Add ApiClient. A form appears.
- Enter a name & description, and select the Authorization type. For now, choose API key, but typically you would select OAuth, if the app acts on behalf of a user, or API Key if the app is not connected to a specific user.
- Click Add to save the app. A section showing the Client ID, Client Secret, and other settings appears.
- Select the Access Scopes based on the needs of the application. For now,
choose
group:read. See the Scopes catalog for the full set. - Save your changes.
To test your API key, you can list groups from the command line:
$ curl -H "Authorization: Bearer $API_KEY" \
https://api.ro.am/v1/group.list
That's it! You have used the Roam API. Continue with a guided quickstart or the full API Reference.
Next steps
- API Reference — the endpoint catalog, plus the conventions every client needs: access models, authentication failures, pagination, rate limiting, and common error responses
- Access Models — organization vs personal access, endpoint compatibility, and choosing a model
- Chat — when an app can read, post, react, and receive chat webhooks (org vs personal, Slack bot token vs user token)
- Responses and Errors — success envelope,
cursors, and
missing_scopedetails - Error Codes — the full machine-readable code catalog
- SDKs — TypeScript (
@roamhq/sdk), Go (ro.am/roamhq), and Python (roamhq) clients that handle pagination, retries, and typed errors