Cloud
Azure
Microsoft Azure — enterprise cloud platform for compute, storage, AI services including Azure OpenAI, and hybrid cloud workloads. Roiva syncs monthly spend per Azure service using the Cost Management Query API, so you can track AI infrastructure costs per initiative.
What gets synced
Roiva writes these metric observations on each sync. Reference the key in a value formula to use this data in your ROI calculations.
Billing
azure.cost.total_spend
Total Spend
currency
azure.cost.service_spend
Per-service spend (one row per service, the service in the row's dimensions)
currency
Common use cases
- Track Azure OpenAI Service spend per initiative for accurate AI cost measurement
- Measure total Azure infrastructure cost changes attributable to AI workloads
- Monitor month-over-month spend trends across Azure services
- Scope costs to a specific initiative using Azure Resource Tags
How to connect
- In Azure: Open Cloud Shell (Bash) as someone who can register apps in Microsoft Entra ID and assign roles on the subscription, and run the setup script below. It registers an app for Roiva, gives it Cost Management Reader on the subscription and nothing else, and prints the Subscription ID and the credentials as tenant_id:client_id:client_secret
- Back in Roiva: Enter the Subscription ID the script printed, paste its credentials line into API Key / Secret, and save the connection
- Back in Roiva: The connection page checks each step as the app and gives the command for anything still missing. Once it's all ticked, click Test Connection
- Back in Roiva: After connecting, link this connection to an initiative on the Initiatives tab
Setup script
# Run in Azure Cloud Shell (Bash) as someone who can register apps and
# assign roles on the subscription. It uses the subscription Cloud Shell
# is set to; for another, first run: az account set --subscription <name or id>
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
echo "Subscription ID: $SUBSCRIPTION_ID"
# An app for Roiva that can read this subscription's costs and nothing else.
# The line it prints goes in API Key / Secret: tenant_id:client_id:client_secret.
# Its secret lasts a year.
az ad sp create-for-rbac --name roiva-cost-reader \
--role "Cost Management Reader" \
--scopes "/subscriptions/$SUBSCRIPTION_ID" \
--query "join(':', [tenant, appId, password])" -o tsv
Tips for capturing value
- Prefer the Azure portal? Register an app under Microsoft Entra ID → App registrations, create a client secret under Certificates & secrets and copy its Value (not its Secret ID), then give the app Cost Management Reader under the subscription's Access control (IAM)
- The client secret lasts a year. When it expires, the connection page gives the command that issues a new one
- Tag Azure resources with a consistent key (e.g. Initiative=InvoiceAI) and add tag_key and tag_value as Filters on your initiative link — costs will be scoped to that tag automatically
- Without tag filters, Roiva pulls account-wide monthly spend totals across all services — still useful as a baseline
- Azure OpenAI Service appears as a line item in the cost breakdown; filter by tag to isolate spend for a specific initiative
- The Cost Management Reader role is sufficient — Roiva only reads cost data, never writes to Azure
Azure
Start with the free AI ROI exposure assessment, then connect Azure once your workspace is set up.
Get your exposure report → Sign inRelated integrations