Skip to content

Install in OpenClaw

OpenClaw is a self-hosted, open-source personal AI assistant. It talks to you over the chat channels you already use — WhatsApp, Telegram, Discord, Slack, Signal, iMessage — and has native MCP support, so the same BuildWorkPro server you would use with Claude Code works here. Add it once, sign in, and the agent in your chat channel can read and write BuildWorkPro records within the scopes you grant.

  • A running OpenClaw install with at least one channel connected. Setup is at docs.openclaw.ai.
  • A BuildWorkPro account with access to the organization you want to connect.
  • A browser to complete the sign-in. OpenClaw captures the OAuth redirect on a local loopback port; if OpenClaw runs on a headless server, there is a manual code fallback (step 2).

You do not need an API key. OpenClaw registers itself with BuildWorkPro using Dynamic Client Registration the first time you connect.

  1. Add the server.

    Save a server entry named buildworkpro with OAuth enabled:

    Terminal window
    openclaw mcp set buildworkpro '{"url":"https://app.buildworkpro.com/api/mcp","transport":"streamable-http","auth":"oauth"}'

    This writes the entry into OpenClaw’s config file (openclaw.json, JSON5, so comments are allowed). You can edit it there directly:

    {
    "mcp": {
    "servers": {
    "buildworkpro": {
    "url": "https://app.buildworkpro.com/api/mcp",
    "transport": "streamable-http",
    "auth": "oauth",
    "enabled": true
    }
    }
    }
    }

    You can also add it from the Control UI under Settings -> MCP, choosing Add server under Configured servers and the Streamable HTTP transport; OAuth settings live in the scoped config editor there.

  2. Sign in.

    Terminal window
    openclaw mcp login buildworkpro

    Follow the printed authorization URL. It opens the BuildWorkPro consent screen listing exactly which scopes OpenClaw is requesting; approve, or deny if it asks for more than you want. OpenClaw normally captures the loopback redirect and saves the credentials automatically. If the browser cannot reach the callback listener (a headless server, for example), use the printed --code command:

    Terminal window
    openclaw mcp login buildworkpro --code <code-from-browser>
  3. Verify.

    Terminal window
    openclaw mcp status --verbose
    openclaw mcp doctor buildworkpro --probe

    doctor --probe connects to the server and reports the tools it exposes.

  4. Test it from your channel.

    Message your OpenClaw agent:

    List my active projects.

    It calls projects_list, scoped to your organization, and replies in the channel.

The agent lives where your crew already talks. When the foreman posts the day’s notes and photos into the channel, the agent can create the daily site log (site_logs_create), attach the photos as documents (documents_create_upload_url then documents_finalize_upload), and log hours (time_entries_create). The log’s author is the BuildWorkPro user who signed in, and you review it in BuildWorkPro like any other log.

Create a site log for project 12 for today: crew of 4, north elevation glazing complete, inspection passed. Attach the three photos above.

Log 8 hours each for Luis and Marco on project 12 for today.

Which projects have no site log in the last 3 days?

Summarize project 12: status, open change orders, and hours this week.

Logging hours for someone else needs a manager or company admin role; other roles can only log their own time.

The full inventory of tools, resources, and prompts is in the Tools catalog.

  • Revoke access: In BuildWorkPro, go to Settings -> Authorized apps and remove the OpenClaw entry. Access ends immediately. Run openclaw mcp logout buildworkpro to clear the stored credentials on the OpenClaw side.
  • Scopes are per request: the consent screen is approve-or-deny for the set OpenClaw asks for. To narrow what the agent can actually call, use the tool filter below; to cut access entirely, revoke in BuildWorkPro and openclaw mcp logout buildworkpro.
  • Limit the tools: Pass --include when adding the server, or set toolFilter.include on the entry, to register only the tools an agent should have — for example the site-log and time-entry tools and nothing that sends or approves.
  • Several agents: The OpenClaw MCP docs cover scoping a server to a single agent.