> ## Documentation Index
> Fetch the complete documentation index at: https://docs.circuit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Bluebeam

> Connect Circuit to Bluebeam Studio so agents can work with projects, documents, annotations, and sessions.

The Bluebeam integration lets agents interact with Bluebeam Studio: reading projects and documents, creating and managing Studio sessions, and creating, updating, and deleting annotations. It uses Bluebeam's OAuth 2.0 authorization code flow against the Studio API.

Bluebeam Studio is region-scoped. The most important step in setup is picking the correct region: Circuit's OAuth flow points at one Bluebeam server, and choosing the wrong one will fail authentication or, worse, sign you into the wrong dataset.

## What you can do

* **Read projects and documents**: agents can list and inspect Studio projects and the documents inside them.
* **Manage Studio sessions**: agents can create new Studio sessions, add documents to them, and end sessions when work is done.
* **Work with annotations**: agents can create, update, and delete annotations on Studio documents on your behalf.
* **Act with your permissions**: agents only see and modify projects and sessions that your Bluebeam Studio account can access.

## Before you start

* A Bluebeam Studio account (BBID) with access to the projects you want Circuit to work with. Studio is region-scoped, so the BBID and the projects must live on the same regional server.
* The **region** your Bluebeam Studio account is provisioned in. See [Picking the right region](#picking-the-right-region) below.
* For organizations whose Bluebeam administrator restricts third-party Studio API access, that admin may need to allow Circuit. See [For IT and security teams](#for-it-and-security-teams) below.

## Picking the right region

Bluebeam runs five separate Studio servers. Projects, sessions, and accounts do not cross between them, and the OAuth endpoint is different for each one. You **must** pick the region that matches where your Studio account was provisioned.

| Region code in Circuit | Bluebeam server | Studio URL              |
| ---------------------- | --------------- | ----------------------- |
| `us`                   | United States   | `studio.bluebeam.com`   |
| `eu`                   | Germany         | `bluebeamstudio.de`     |
| `au`                   | Australia       | `bluebeamstudio.com.au` |
| `uk`                   | United Kingdom  | `bluebeamstudio.co.uk`  |
| `se`                   | Sweden          | `bluebeamstudio.se`     |

Guidance for choosing:

* Open Bluebeam Revu, press **Alt+C** to open the Studio panel, and click the flag icon. The flag indicates which region your account is on.
* If you cannot open Revu, check the URL of the Studio web interface where you sign in.
* Data residency typically follows your company's headquarters: a German firm is usually on `eu`, a UK firm on `uk`, an Australian firm on `au`, a Swedish firm on `se`. US-headquartered firms are on `us` by default.
* If your firm operates in a country with no Bluebeam region (for example, India or Brazil), your Bluebeam administrator chose a region at provisioning. Ask them.

If you pick the wrong region, OAuth either fails or signs you into a Studio account with none of the projects you expect. Disconnect and reconnect with the correct region.

## Connect Bluebeam

<Steps>
  <Step title="Open the Bluebeam integration in Circuit">
    In Circuit, open **Settings** > **Integrations** and choose **Bluebeam**.
  </Step>

  <Step title="Pick your Studio region">
    Select one of `us`, `eu`, `au`, `uk`, or `se` from the region picker. If you are not sure, follow the guidance under [Picking the right region](#picking-the-right-region) above. This is the single most important step.
  </Step>

  <Step title="Sign in to Bluebeam Studio">
    Click **Connect Bluebeam**. The region-specific Bluebeam sign-in page opens in a new window. Sign in with your BBID.
  </Step>

  <Step title="Approve the requested access">
    Bluebeam shows a consent screen listing the scopes Circuit requests. Review the scopes (see [What Circuit accesses](#what-circuit-accesses) below) and click **Allow**.
  </Step>

  <Step title="Return to Circuit">
    Bluebeam redirects you back to Circuit. The integration status changes to **Connected**. You can now reference Bluebeam in any agent's tool configuration.
  </Step>
</Steps>

## What Circuit accesses

Circuit requests two Bluebeam scopes:

```
full_user
offline_access
```

| Scope            | Why Circuit needs it                                                                                                                                                                                               |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `full_user`      | Read and modify Studio projects, documents, sessions, and annotations on behalf of your user. Capabilities are scoped to what your Studio account can already do: agents cannot access projects you cannot access. |
| `offline_access` | Issue a refresh token so Circuit can keep the connection alive in the background. Without it, your session would expire and you would need to reconnect frequently.                                                |

Circuit uses the **OAuth 2.0 authorization code flow**. Your Bluebeam password is never seen, stored, or transmitted to Circuit.

<Note>
  Circuit's access to Bluebeam data is constrained by your Studio account's permissions. If you cannot open a project in Studio, neither can Circuit.
</Note>

## For IT and security teams

The Bluebeam integration is a Circuit-published OAuth application registered separately in each of Bluebeam's five regional developer portals. Each user authorizes the app individually against the region you selected at connect time.

* **Region scoping**: each Bluebeam region is a separate Studio server with its own users, projects, sessions, and OAuth endpoint. Tokens issued in one region do not work against any other region. This matches Bluebeam's own data-residency model.
* **Org-level restrictions**: Bluebeam organization administrators can restrict which third-party applications connect to Studio. If your organization restricts API access, work with your Bluebeam administrator to allow Circuit.
* **Scope review**: `full_user` is read/write at the level of the connecting user. Circuit does not request `read_prime` (org-wide read) or `jobs`.
* **Audit**: Studio activity (session creation, document access, annotation changes) is visible to project owners and Studio admins in the Studio interface and audit logs.

See [Integration security and admin consent](/it/integration-security) for how Circuit handles credentials across all integrations.

## Disconnect or rotate access

To disconnect from Circuit's side, open **Settings** > **Integrations** > **Bluebeam** in Circuit and click **Disconnect**. Circuit deletes the stored refresh token immediately.

To revoke from Bluebeam's side, sign in to your Bluebeam Studio account in the region you connected, go to your account settings, find Circuit in the list of authorized applications, and revoke. Bluebeam administrators can revoke for any user from the organization's admin console.

## Troubleshooting

<AccordionGroup>
  <Accordion title="&#x22;Invalid client&#x22; or &#x22;unknown client&#x22; error on the OAuth screen">
    The region you picked in Circuit does not have Circuit registered, or you are signed into a different region's Studio account than you selected in Circuit. Confirm the correct region using **Alt+C** in Revu, disconnect, and reconnect with the matching region selected.
  </Accordion>

  <Accordion title="Sign-in succeeds but Circuit shows no projects you expect">
    You connected to the wrong region. Your projects live on a different Studio server. Disconnect and reconnect with the correct region.
  </Accordion>

  <Accordion title="&#x22;Unauthorized&#x22; errors after a period of inactivity">
    The refresh token has been revoked, either by a password change, an admin action, or long inactivity. Disconnect and reconnect to issue a new token.
  </Accordion>

  <Accordion title="Annotation create or update fails with permission denied">
    Your Bluebeam Studio user does not have edit permission on that document or session. Studio enforces per-document and per-session access. The session owner or project admin can grant access.
  </Accordion>

  <Accordion title="&#x22;App not approved&#x22; or similar error from your Bluebeam org">
    Your Bluebeam organization administrator restricts which third-party apps can connect. Ask them to allow Circuit in the organization's developer or integrations settings.
  </Accordion>
</AccordionGroup>

## Reference

* **OAuth flow**: Authorization code
* **Scopes requested**: `full_user`, `offline_access`
* **Redirect URI**: `https://app.circuit.ai/api/bluebeam-oauth`
* **Supported regions**: `us`, `eu` (Germany), `au` (Australia), `uk` (United Kingdom), `se` (Sweden)
* **Capabilities**: read projects and documents, create/update/delete annotations, create and end Studio sessions
* **Bluebeam's own docs**: [Authentication guide](https://support.bluebeam.com/developer/authentication-guide.html), [Multi-region integrations](https://support.bluebeam.com/integrations/multi-region-integrations.html), [Changing Studio region](https://support.bluebeam.com/studio/resources/changing-studio-region.html)
