Sources & integrations overview
Plutus pulls in three different kinds of data, each with its own connection flow:
- Cost sources — spend data, pulled on a schedule (cloud bills, AI/LLM usage, SaaS invoices). See the sidebar groups under Cost sources for one page per provider.
- Event sources — the non-cost annotations overlaid on your cost charts (deploys, incidents, releases, customer churn). See Event sources.
- Usage sources — your own product usage telemetry, either pushed in via API or pulled from a metered-billing provider, used to compute unit economics (cost ÷ usage). See Usage sources and the usage ingestion API.
A number of cost and event sources also emit usage metrics as a byproduct of their normal sync — no separate usage-source connection needed. A source’s own page says so under what Plutus imports when it applies. See Usage Explorer for how this feeds unit economics alongside the two dedicated usage paths above.
Each source page follows the same layout: what Plutus imports, then how to connect it.
Sync interval defaults
Section titled “Sync interval defaults”Cost and event sources sync on a schedule, not on demand — a background worker checks each
connection’s next_sync_at and enqueues a job once it’s due. Every source has a default
interval set at the catalogue level, but it’s staff-configurable per connection, so the
interval an individual account sees can differ from the table below.
| Category | Typical default | Why |
|---|---|---|
| Cloud infrastructure (AWS, GCP, Azure, Hetzner, DigitalOcean, …) | 8 hours | Matches how often the provider’s own billing data updates — most refresh their cost APIs 2-3 times a day. |
| AI / LLM (OpenAI, Anthropic, xAI, HuggingFace) | 12-24 hours | These providers publish usage as a daily billing feed, so polling more often doesn’t produce fresher data. |
| Data platforms (Databricks, Snowflake) | 4 hours | The sync itself runs a real query against the customer’s own warehouse, burning their compute credits — the interval is tightened only as far as the provider’s own 1-3 hour ingestion latency allows. |
| Business & finance (Stripe, Twilio) | 2-8 hours | Stripe’s Balance Transactions API is fast and generously rate-limited, so its default is tighter than the general 8-hour baseline. |
| Deploys & releases (GitHub, GitLab, Vercel, CircleCI) | 30 minutes | Free, near-real-time APIs, and these events are most useful lined up tightly against a cost chart. |
| Incidents & reliability (PagerDuty, Sentry, AWS Health) | 30 minutes-6 hours | PagerDuty and Sentry poll every 30 minutes; provider-status feeds like AWS Health move slower and sync every few hours. |
| Business events (Jira, Linear, Salesforce, Stripe Subscriptions) | 1 hour | Balances freshness against each provider’s own API rate limits. |
| News (RSS / Atom feeds) | 6 hours | A feed is cheap to poll, but news isn’t a signal anything acts on in minutes. |
| Usage sources (Stripe, Metronome, Chargebee usage) | 8 hours | Usage aggregates for billing purposes move slowly enough that polling more often adds no signal. |
Don’t see your provider?
Section titled “Don’t see your provider?”If a provider you use isn’t in the catalogue yet, request it on the feature request board. It’s public, so you can also upvote a request someone else already filed instead of duplicating it.