Connect OpenClaw and other AI agents to WorkOS — a self-hosted workspace platform with documents, databases, tasks, meeting transcription, and sharing. Exposes 60+ tools through a remote MCP server with OAuth 2.1.

Install

openclaw skills install workosmcp

WorkOS

WorkOS is a self-hosted, AI-integrated workspace platform (a Notion alternative) that exposes its full data model through a remote MCP server. Use this skill whenever the user talks about their documents, pages, wiki, databases, tasks, meetings, transcripts, or wants the agent to create, update, or search their content on workos.no.

When to use WorkOS

Reach for this skill when the user:

  • Refers to "my wiki", "my workspace", "my page", "my database", "my tasks", "my meetings", "my notes".
  • Says things like "create a new page about …", "add a task", "update the status field on row X", "find the document about …".
  • Wants to search or fetch existing content on workos.no.
  • Asks about transcripts, summaries, or attendees from meetings.
  • Wants to share a page externally or manage access.

If the user has not yet connected the WorkOS MCP server, set up the connection first (see docs/connect.md).

Connection — once per agent

The WorkOS MCP server lives at:

https://workos.no/api/mcp
  • Transport: Streamable HTTP (JSON-RPC 2.0). Not SSE.
  • Auth: OAuth 2.1 with PKCE — fully automatic via client discovery.
  • Scopes: read, write.

OpenClaw and other MCP clients are configured with the URL above and let the OAuth flow happen in the system browser. Per-client setup is in docs/connect.md. Important: older Cline versions must set "type": "streamableHttp" — the server does not support SSE.

What the agent can do

After connecting, the server exposes ~60 tools grouped as follows:

AreaExample toolsUse for
Accountget_me, list_workspaces, get_workspaceIdentity and workspace context
Pagescreate_page, get_page, update_page, archive_page, restore_page, delete_page, move_page, search_pages, list_pagesDocuments, wiki, notes
Page blocksappend_blocks, insert_blocks_after, update_block, delete_blocksGranular editing
Page groupscreate_page_group, update_page_group, delete_page_group, reorder_page_groups, list_page_groupsSidebar organization
Databaseslist_databases, create_database, get_database, update_database, delete_databaseStructured data
Propertiesadd_db_property, update_db_property, remove_db_property, reorder_db_propertiesSchema
Rowslist_db_rows, create_db_row, update_db_cell, delete_db_row, move_db_rowContent
Viewslist_db_views, create_db_view, update_db_view, delete_db_viewTable / board / list
Meetingscreate_meeting, append_transcript, generate_meeting_summary, list_meeting_templatesTranscription + AI summary
Commentscreate_comment, update_comment, resolve_comment, list_comments, delete_commentDiscussion
Sharingcreate_share_link, list_share_links, revoke_share_linkExternal links
Filesupload_imageImage uploads

The full catalog is in docs/tools.md. Always call tools/list after initialize to get the authoritative, current set.

Workflow patterns

Common flows (full examples in docs/workflows.md):

  1. Search → fetch → show: search_pagesget_page → present content.
  2. Create page with structure: create_page (with the right workspaceId and pageGroupId) → append_blocks for content.
  3. Database update: list_databaseslist_db_rows (filtered) → update_db_cell per row.
  4. Meeting flow: create_meetingappend_transcript (in chunks) → generate_meeting_summary.
  5. Safe edits: fetch existing content before overwriting, and confirm destructive operations (delete, archive) with the user.

Rules and expectations

  • Workspace context first. If the user has not specified a workspace, call list_workspaces and ask which one is active before writing data.
  • Never guess IDs. Always fetch them from a list/search call.
  • Write conservatively. Prefer update_* over delete-and-recreate. Confirm deletes/archives before running them.
  • Mirror the user's language. WorkOS users are often Norwegian; mirror whatever language the user is writing in for new pages and comments.
  • Respect roles. read scope only allows fetching. If a write tool returns 403, tell the user they lack write access in the workspace.

Troubleshooting

SymptomCauseFix
401 from /api/mcpToken expired or missingThe client should refresh automatically; otherwise remove the server and re-add it
405 on GETClient is trying SSEUse Streamable HTTP — set type: streamableHttp (Cline) or upgrade the client
Empty workspace listUser is not a member of any workspaceHave the user create or join a workspace at workos.no first
403 on write toolsMissing write scopeRe-run the OAuth flow with read write

More in docs/connect.md under "Troubleshooting".

Links