Google Workspace Integration

Digital Business Cards for Google Workspace

Provision digital business cards from your Google Workspace directory. QRBold reads users and groups through domain-wide delegation with four read-only scopes, builds cards from directory profiles, and suspends them when you suspend the account — with the authorisation living in your admin console, not in QRBold's database.

Start Free

Last updated

4 scopes

All read-only, no write access

Groups

Assign cards by Google group

Your console

Grant and revoke live with you

No secrets

Nothing of yours stored by QRBold

Can you create digital business cards from Google Workspace?

Yes. QRBold reads your Google Workspace directory using domain-wide delegation with four read-only scopes, building cards from directory profiles such as name, job title, department, email, and phone. Suspending a Google account suspends the card, and you can revoke QRBold's access from your admin console at any time.

Why teams choose QRBold for google workspace

The grant lives in your admin console, not our database

Domain-wide delegation means your super admin authorises QRBold's client id for exactly four read-only scopes in the Google Admin console. QRBold stores no per-customer credential for Google at all — the customer half of the grant lives entirely on your side. Revoking us takes effect on the next token request and leaves nothing behind that could leak.

Assign cards by Google group

QRBold reads your groups and their membership, so card assignment can follow structures you already maintain. A "sales@" group becomes the card population for Sales without anyone maintaining a parallel list, and someone added to that group in Google becomes eligible on the next sync.

Suspend in Google, suspend the card

Offboarding a Google Workspace user is usually the first thing that happens when someone leaves, and it is the signal QRBold acts on. The deprovision action you configured runs automatically, so a card does not outlive the account it was built from.

No private key in QRBold's infrastructure

By default QRBold signs its assertions through Google IAM Credentials using the running workload's own identity, which means no service-account private key exists anywhere in QRBold's infrastructure to be stolen. A key-based mode exists for deployments that cannot use workload identity, but it is a fallback rather than a peer.

Connect Google Workspace in three steps

1

Authorise QRBold in the Google Admin console

As a super admin, open Security → API controls → Domain-wide delegation and add QRBold's client id with the four read-only scopes shown in QRBold. Nothing is granted until you do this, and this screen is where you later revoke it.

2

Nominate an administrator to read as

QRBold impersonates an administrator address to read the directory. Provide it in QRBold, then run the verification, which performs a real directory read rather than only saving the form — an authorisation that has not fully propagated is caught here rather than at the first sync.

3

Map fields, choose a rule, and confirm the preview

Map directory attributes onto card fields, decide whether card eligibility follows groups or another rule, and review the import preview listing exactly who would receive a card before any are created.

Google Workspace integration specification

The technical detail an evaluation actually turns on, in one place.

Authorisation modelDomain-wide delegation, granted by your super admin in the Google Admin console
Scopes requestedadmin.directory.user.readonly · admin.directory.group.readonly · admin.directory.group.member.readonly · admin.reports.audit.readonly
Optional scopeadmin.directory.domain.readonly — display only; declining it still leaves a working integration
Write accessNone. Every requested scope is read-only
Credential storageNo per-customer secret stored — the grant lives in your admin console
Assertion signingGoogle IAM Credentials signJwt by default; no private key in QRBold infrastructure
Assertion lifetime1 hour, Google's maximum
Group supportGroups and group membership read for group-based card assignment
Directory scalePaged reads, 500 users per page, ceilinged at 200 pages per read
Rate limitingPer-integration concurrency, so one large directory cannot stall another account's sync
RevocationRemove the delegation in your admin console; effective on the next token request
PlanEnterprise

Why domain-wide delegation is the safer shape

There are two common ways a third-party tool reads a Google Workspace directory. The first stores a per-customer OAuth credential in the vendor's database. The second uses domain-wide delegation, where your super admin authorises the vendor's client id for named scopes inside your own admin console.

The difference matters most when something goes wrong at the vendor. Under domain-wide delegation, QRBold holds no secret of yours to lose — the customer half of the grant is a record in your Google tenant, not a row in QRBold's database. There is nothing to leak in a breach and nothing to rotate after one.

It also makes revocation honest. Removing the delegation in your admin console is effective on QRBold's next token request, with no dependency on QRBold processing a disconnect request correctly. That is the same property the Microsoft Entra ID consent flow has, and it is why both are preferred over storing per-customer credentials.

What the four scopes actually allow

The scope list is deliberately short, and every entry is readonly. There is no write scope in the set, so no configuration of QRBold can result in a change to your directory.

  • directory.user.readonly. Reads user profiles — the name, job title, department, email, and phone that populate a card.
  • directory.group.readonly. Reads the list of groups, so card assignment can follow group structures you already maintain.
  • directory.group.member.readonly. Reads who is in those groups, which is what makes group-based eligibility work.
  • reports.audit.readonly. Reads directory audit activity so account changes such as a suspension are detected promptly rather than waiting on a full re-read.
  • domain.readonly (optional). Requested when available purely so the dashboard can display your domain name. An admin who declines it still gets a fully working integration.

Built for directories that are actually large

Directory reads are paged at Google's own maxima — 500 users and 200 groups per page — and ceilinged at 200 pages per read. That ceiling works out to a hundred thousand people, comfortably larger than any directory expected here, and it exists so a paging fault on either side surfaces as an error rather than a process that never returns.

Rate limiting is applied per integration rather than globally, which is a deliberate choice. Google charges quota per project per user, so one customer's very large directory should slow that customer's own sync and nobody else's. A single global limiter would let one account's backfill stall every other account's updates.

Transient failures — 429s and 5xx responses — are retried with backoff. Everything else is surfaced as an error to be fixed rather than retried silently, because a permissions problem does not improve by asking again.

Google Workspace as directory, with or without SSO

Google Workspace can play either or both of two roles here. As a directory it supplies the roster and the attributes that populate cards. As an identity provider it can also handle sign-in, so employees reach QRBold with their existing Google credentials and your MFA and context-aware access policies apply without extra configuration.

The roles are independent. An organisation that authenticates through Okta but keeps its authoritative employee directory in Google Workspace can connect the directory here and leave sign-in where it is.

Google Workspace questions, answered

The questions that come up in real evaluations, answered directly.

Get started

Build cards from your Google directory

Grant four read-only scopes in your admin console, assign cards by group, and revoke access on your own terms at any time.

Start Free

No credit card required