Skip to main content
By the end of this page you’ll have one cloud account in Optimize, its first savings findings, and a cost report you can send to a teammate. Allow about 10 minutes, plus however long your provider takes to return billing data.

Prerequisites

  • An AWS account, GCP project, or Azure subscription you can grant read access to. With AWS Organizations, Optimize reads only the connected account’s own spend, even on the management (payer) account, so connect each account you want covered. See Work across multiple AWS accounts.
  • AWS: Cost Explorer turned on in the AWS console. On a new account it can take up to 24 hours to start returning data.
  • GCP: the Cloud Billing Standard usage cost export to BigQuery already turned on, with rows in it. Google doesn’t fully backfill a new export, so set it up a day ahead. See Google’s export setup guide.
  • The right workspace role for each step:
1

Open Optimize and connect a cloud account (Admin)

You need the workspace Admin role for this step. Developers and Viewers can’t connect a cloud account, so ask an Admin to do it. In the sidebar, click Optimize. On an empty workspace, Overview shows a three-step setup and a Connect a cloud account button (or Connect AWS, Connect GCP, Connect Azure when the provider is already chosen). Click it and fill in the connection dialog without leaving Optimize.Grant these read-only permissions. Optimize needs both the billing read and the resource read, because the scan checks each billed service with read-only commands.Keep ReadOnlyAccess on AWS if you want resource-level findings. The custom policy in Troubleshooting covers billing and commitment reads only, so on its own the scan can’t read your resources. See the GCP and Azure guides for the setup commands.
These grants are read-only, so a finding’s Implement action can’t change anything yet. Before you use it, add the write permissions for the changes you want and leave Allow writes on for the connection. See write access for AWS, GCP, and Azure. Scans, reports, and every other Optimize page work with read-only access.
Success state: the page changes to Your AWS account is connected (or GCP project, Azure subscription) with a Run first scan button.
2

Choose a billing source (GCP and Azure only)

Nothing to do. Optimize reads the connected account through AWS Cost Explorer.
Success state: the setup prompt closes and the first-scan screen appears.
3

Run the first scan

Click Run first scan. CloudThinker pulls your billing history (up to 13 months), then checks each billed service for savings using read-only commands. Nothing in your cloud account changes.The scan runs in the background, so you can leave the page. To watch it work, click Open CloudThinker’s conversation (the scan button shows this label while the scan runs) or Open analysis. Both open the same scan conversation. Optimize stores the billing data it pulls in your workspace, so pages and reports load without calling your provider again.After this scan, CloudThinker pulls new billing data once a day. To make this a one-time look, click Updated … in the page header and turn Daily refresh off.Success state: Overview fills in and the header shows an Updated time. While the scan runs, the scan button reads Open CloudThinker’s conversation instead. Once a scan has finished, Open analysis next to Re-scan opens its conversation. If no scan has finished yet, the cards show a waiting state, not zeros.
4

Read the Overview

Look at the three cards at the top:Below them, Start with these actions lists the highest-value open findings, Where spend goes shows the biggest services from the last completed month, and Recent anomalies shows unusual cost changes from the last 30 days.Success state: you see an amount in each spend card, a score in Cost Health, and at least one row under Start with these actions, or No open cost actions if the scan found nothing to fix.
5

Open Cost Health and your first finding

Click See what raises your score to open Cost Health. It lists the checks behind the score, grouped as Gaps, Passing, Not measured, and Out of scope. Fix gaps first: they’re what move the score. For the pillars and stage thresholds, see Key concepts.Then go back to Overview and click the top action. Each finding shows its estimated monthly saving, effort, and risk, plus a Quick win or Needs review label. A quick win is reversible, low effort, and backed by verified evidence.Success state: you can explain in one sentence what the top finding would change and how much it might save.
6

Generate and share a report

In the sidebar, click Optimize → Reports. Leave the scope on Selected account and click Savings opportunities. CloudThinker opens a new conversation and writes the report from your saved findings.To share it with teammates in your workspace, point them to Artifacts in the left sidebar, where the report is saved. They sign in to read it.For someone outside the workspace, click Share on the report’s card in Artifacts or at the top of the artifact page, then Create share link. Anyone with that URL can open the report without signing in, and the link has no expiry: it stays public until you click Revoke. Only Developers and Admins can create or revoke links, and there’s no separate switch to turn public links off, so workspace roles are how you control sharing. See Sharing.
A report shows account IDs, spend figures, resource names, and architecture details. Read it as an outsider would before you create a public link.
Success state: the report shows up in Artifacts, and you have a share link or a teammate with workspace access.

You’re done when…

  • Overview shows spend, potential savings, and a Cost Health score for your account
  • You opened at least one finding and read its evidence
  • A Savings opportunities report exists in Artifacts, and you have a share link or teammate access ready

Troubleshooting

Every Optimize problem is collected in Optimize troubleshooting, with a cause, a check, and a fix for each. The ones you’re most likely to hit on a first scan:
Cause: the connected role can’t call ce:GetCostAndUsage.Fix: attach ReadOnlyAccess (recommended), then click Retry scan. If you can’t, add this policy to a custom role instead. On its own it lets billing load but blocks resource-level findings, because the scan can’t read your resources. It also grants the commitment reads, which otherwise fail quietly and make commitment coverage look fine when it isn’t.
On a new AWS account, Cost Explorer must be turned on in the AWS console first, and it can take up to 24 hours to start returning data.
Cause: the connected service account can’t read the BigQuery billing data. It needs BigQuery Data Viewer and BigQuery Job User on the project that holds the export. If you see GCP billing export is required instead, the project has no Standard export table.Fix: grant the missing roles, or turn on the Standard export, then pick the table under GCP billing export table. See the GCP connection guide.
Cause: Cost Management rejected the query. The app registration is missing Cost Management Reader on the subscription, or, on a Microsoft Customer Agreement, Billing profile reader on the billing profile.Fix: assign the missing role to the service principal, then pick the scope again under Azure billing scope. See the Azure connection guide.
Cause: the provider returned no spend for the last full month or the current month, or billing data hasn’t arrived yet. AWS Cost Explorer can lag usage by 24 to 48 hours.Fix: wait, then click Run scan again (that’s the label on this screen; on Findings the same action is Re-scan). For GCP, confirm the BigQuery export table you picked is the Standard export and has rows.
Cause: your workspace role is Viewer. Running scans and changing the refresh need Developer or Admin.Fix: ask a workspace Admin for the Developer role. See Workspace users.

Next steps

Work your findings

Move savings through Pending, In Progress, Implemented, or Ignored

Explore spend history

Compare 6 or 12 completed months and ask why a service changed

Schedule reports

Generate the same report every month on a schedule

Set up Approvals

Decide what CloudThinker may change when you implement a finding