NewThe Command Center: every team's AI spend, forecasts, alerts and key health on one screen.See how it works

Setup guide

Connect your AI provider, bring in your teams and set budgets in Boilerplate, then check the numbers against your bills. The in-app setup takes about five minutes; verifying takes longer.

30 min end to endRead-only access1 provider is enough to start

Step 1

Before you start

You'll get a private workspace with your real AI spend by team and business unit, budgets and alerts. Plan a 30-minute session with a Microsoft admin and someone who can create AI provider admin keys.

  • One of Anthropic or OpenAI is enough to start. Add the other any time.
  • Okta is what turns API keys into teams. Without it, you can create teams by hand.
  • Ask for admin keys a few days ahead. They often need someone else's approval.
  • Paste keys into the app yourself. Never send them to anyone by email or chat.

Step 2

What to prepare

Gather these before the session. Each one is read-only and can be revoked at the provider at any time.

ToolWhat you needWhere to get itWho can create it
Microsoft Entra IDYour Tenant ID, plus an admin to approve the app at first sign-inEntra admin center → Overview → Tenant IDA Microsoft 365 or Entra admin
AnthropicAdmin API key (starts sk-ant-admin01-)Claude Console → Settings → Admin keysAn org admin on the Claude API. Claude Enterprise seats use a different analytics API that isn't supported yet.
OpenAIAdmin key (starts sk-admin-)platform.openai.com → Organization settings → Admin keysAn organization owner
Okta (recommended)Read-only API token and your company.okta.com domainOkta Admin → Security → API → TokensAn Okta admin, ideally from a read-only admin account
Slack (optional)Incoming webhook URL for an alerts channelA Slack app with Incoming Webhooks turned onA workspace admin, or anyone if app installs are open
Confluence (optional)API token, account email and company.atlassian.net siteid.atlassian.com → Security → API tokensAny user who can read the spaces agents should see
GitBook (optional)Personal access token and organization IDGitBook → Settings → DeveloperA GitBook organization member

Step 3

Connect your tools

The first five steps are the in-app Setup. By the end the Command Center shows your spend by team and business unit, with budgets and alerts.

  1. 1

    Sign in with Microsoft

    Open the sign-in link from your Boilerplate contact and choose Sign in with Microsoft. The first admin approves the app for your organization; after that, everyone signs in with their work account and your MFA policies apply.

  2. 2

    Connect your AI provider

    An empty workspace opens on Setup. Pick Anthropic or OpenAI, follow the link to its console, create an admin key and paste it. We test the key before saving it, then backfill 90 days of usage and cost. A large organization can take a minute or two.

  3. 3

    Bring in your teams

    Connect Okta so groups become teams and personal keys follow their owners. If your team groups share a prefix such as team-, enter it so only those groups import. No Okta? Tick the teams we suggest from your OpenAI projects and Anthropic workspaces, or type your own, one per line.

  4. 4

    Group teams into business units

    Give each team a unit such as Technology or Go-to-Market. You can do it while creating teams, or later on Teams & units. The Command Center then rolls spend and budgets up by division.

  5. 5

    Set budgets

    Budgets are pre-filled from each team's last 30 days of spend plus 20%. Adjust them and click Save budgets. Every team then shows its month-end forecast against its budget.

  6. 6

    Turn on Slack alerts

    Optional. Paste an incoming webhook URL. A test message appears in the channel right away, and every new alert posts there.

  7. 7

    Invite your team

    On Members, invite people by work email as Admin (can change settings) or Viewer (read-only). Optionally turn on auto-join so anyone in your organization can join as a Viewer.

  8. 8

    Map what's left

    On Teams & units, the Unassigned keys & projects list shows anything we couldn't match. Click Apply suggestions, then choose a team for each remaining key. Anything you're unsure about can stay unassigned for now.

  9. 9

    Review alert rules

    On Alerts, the defaults are: a team pacing over 100% of budget, a day at 2.5× its 14-day average, and more than $500 not assigned to a team. Failing connectors and keys due for rotation are always checked.

  10. 10

    Add knowledge sources

    Optional. Connect Confluence or GitBook on Connectors. On Knowledge, every space starts off. Enable the spaces you want and scope each to the teams that should use it. The organization-wide switch stays off until you turn it on.

Step 4

Verify your numbers

Setup is done when totals match each provider's own console within a few percent. Check these during the session or the next day.

  • Month-to-date spend on Usage & spend, filtered to Anthropic, matches the Claude Console cost page for the same dates. Both use UTC days.
  • The same check for OpenAI against its Usage page. OpenAI cost can lag up to a day, so compare through yesterday.
  • Token totals by model look right.
  • Okta teams and people imported, and keys owned by Okta users landed on the right teams.
  • Budget pacing percentages make sense for each team.
  • Lowering a team's budget below its projected spend creates an alert, and raising it back resolves it.

Step 5

Keep keys fresh

Every key you connect is encrypted and its age is tracked. Pick a rotation policy and we remind you before keys get old.

  1. On Connectors → Keys & rotation, choose a policy: every 30, 60, 90 (default), 180 or 365 days.
  2. Fourteen days before a key reaches that age you get a heads-up; once it's overdue, an alert (and a Slack message if connected).
  3. To rotate: create a new key at the provider, click Rotate key and paste it. We test the new key first, so a bad key never breaks syncing.
  4. Then revoke the old key at the provider. The audit log records who rotated which key and when.
  5. If a key stops working (revoked, expired), the connector shows Failing and raises an alert straight away.

Step 6

Security and data access

Share this with your security team. It covers exactly what we read and how it's protected.

How people sign in

With their Microsoft work account. Your MFA and Conditional Access policies apply, and only people from your organization whom you invite can get in.

What we read

Only usage, cost, directory and space-list endpoints. Never prompts or completions.

How keys are stored

Encrypted at rest with AES-256-GCM. Only the last four characters are ever shown again.

Knowledge sources

Every space starts off, is scoped by team, and sits behind an organization-wide switch.

Revoking access

Revoke any key at the provider and access stops immediately. Disconnecting also deletes that provider's synced data.

Full details

Our security overview covers encryption, sessions, sign-in, logging and how to report a vulnerability.

Step 7

Troubleshooting

Most setup issues come from the wrong kind of key or comparing different date ranges.

What you seeWhyFix
"That doesn't look like an Admin API key"A regular API key was pastedAnthropic needs sk-ant-admin01-…, OpenAI needs sk-admin-…
"The key was rejected"The key is wrong, revoked, or missing permissionsCreate a new admin key and use Rotate key on Connectors → Keys & rotation
"Enter your Okta domain"The domain included extra textEnter only company.okta.com
Numbers lower than the provider's billDifferent date ranges, time zones, or provider delayCompare full UTC days through yesterday. Today's data is partial.
An "Unattributed" rowProvider cost that couldn't be tied to a key, such as tools or storageUsually small. Tell us if it's more than a few percent.
A connector shows FailingThe last sync failed, often because the key was revokedThe message under it says why. Rotate the key, or fix the cause and click Sync now.
A key shows Rotation overdueIt's older than your rotation policyCreate a new key at the provider, rotate it here, then revoke the old one
"You haven't been invited to a workspace"Signed in with Microsoft but no invite yetAsk a workspace admin to invite your work email, then sign in again
"Your Microsoft organization isn't set up"Your tenant isn't linked to a workspace yetSend your Tenant ID to your contact so they can link it
"Sign-in was cancelled or not approved"Your organization requires admin approval for new appsAsk a Microsoft admin to sign in first and approve the app for the organization

Stuck, or want us on the call?

We'll walk through setup with you. Email Justin.Tackling@boilerplate.fyi.