Alerts are often tied to a specific plan or type of subscription. Accordingly, Orb allows you to configure alerts on the plan itself and automatically propagates them to all subscriptions of that plan. This allows you to quickly add an alert to an existing plan without having to run a migration over existing subscriptions. Similarly, when an alert is disabled, this change applies to all subscriptions.Note that alerts can be created, enabled, disabled, or modified either through the Orb UI (at the plan or subscription level) or through the API.It’s often useful to set ad hoc alerts for specific customers (especially when dealing with Enterprise contracts), so alerts can also be managed at the individual subscription level. Orb’s subscription card allows you to view alerts inherited from the plan and change them for the specific subscription instance. With this workflow, you can create alerts that correspond to a customer’s usage patterns, even if they differ from other subscriptions to the same plan.
Each subscription card on the customer page in Orb shows which alerts have been triggered during the current billing period, and the time at which the threshold was exceeded.
Most alerts and related usage monitoring actions like threshold invoicing and automatic top‑ups are evaluated in real-time, allowing you to build spend management workflows integrated into your product experience that are nearly instantaneous.Orb also supports periodic evaluation for more complex metrics, even allowing you to set up alerting over metrics that require a view of the full billing period to evaluate. In this case, the alert is evaluated periodically, and the Orb dashboard will indicate the difference in evaluation cadence eligibility.Note that an alert that composes multiple metrics (e.g. a balance alert that depends on drawdowns on all metrics or an invoice costs alerts that depends on the sum of all line items) will still be evaluated in real-time on the basis of the metrics that support incremental computation. In other words, if a large majority of your usage comes from simple, incrementally computable metrics, the alert will be evaluated in near real-time. The Orb dashboard will indicate that a subset of metrics are incrementally computable and cause the alert to be evaluated in real-time.
Path
Eligibility
Latency
Real‑time
Draft invoices for the customer contain only decomposable line items (metrics that are possible to incrementally compute, e.g., SUM or COUNT).
Seconds to minutes
Periodic
A metric (e.g., COUNT DISTINCT, percentile metrics) is present that requires scanning the full events dataset for the billing period.
Periodically, but Orb provides an option for commercial add-ons on Advanced and Enterprise agreements that guarantee tight SLAs.
Creating a new alert or modifying an existing alert’s thresholds immediately
invalidates the customer so the alert is re‑evaluated on the appropriate path,
but this may take several minutes to complete.
All alerts generate a webhook event when they fire, and your system can use this event to trigger actions. If several thresholds are crossed in rapid succession, Orb sends only the event for the highest threshold.Grouped cost alerts instead emit a single subscription.grouped_cost_exceeded event that batches every group that crossed a threshold in the same evaluation, so handle its groups array rather than expecting one event per group.
Was this page helpful?
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Orb","colors":{"primary":"#15003F","light":"#7DD3FC","dark":"#15003F"},"logo":{"light":"https://mintcdn.com/orb-9bba378a/LPn-ELJYNR-oFxhG/logo/orb-dark.svg?fit=max\u0026auto=format\u0026n=LPn-ELJYNR-oFxhG\u0026q=85\u0026s=9fbf232788a0bfab91e460473924a06f","dark":"https://mintcdn.com/orb-9bba378a/LPn-ELJYNR-oFxhG/logo/orb-light.svg?fit=max\u0026auto=format\u0026n=LPn-ELJYNR-oFxhG\u0026q=85\u0026s=7d375c8ed123a3f10f67ebef1346f66f"},"favicon":"https://mintcdn.com/orb-9bba378a/LPn-ELJYNR-oFxhG/logo/orb.svg?fit=max\u0026auto=format\u0026n=LPn-ELJYNR-oFxhG\u0026q=85\u0026s=7f05ef56022577fa316499a16c91db8e","api":{"playground":{"display":"simple"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.withorb.com/v1"}},"navbar":{"links":[{"href":"https://support.withorb.com","label":"Support"}],"primary":{"type":"button","label":"Orb dashboard","href":"https://app.withorb.com"}},"footer":{"socials":{"x":"https://x.com/useOrb","github":"https://github.com/orbcorp","linkedin":"https://linkedin.com/company/orbhq"}},"integrations":{"gtm":{"tagId":"GTM-NVW7HVV"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Changelog","icon":"newspaper","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://changelog.withorb.com"},{"anchor":"Status","icon":"signal","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://status.withorb.com"},{"anchor":"Blog","icon":"book-open-cover","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://www.withorb.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"orb-9bba378a","hasAudioNarration":false,"actualSubdomain":"orb-9bba378a","customDomains":["docs.withorb.com"],"gitSource":{"type":"github","owner":"orbcorp","repo":"dev-docs","deployBranch":"prod-docs","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0d393b2d56c99c7a671e7","collectionId":"8419fa3f-16f2-4fe4-b72a-f14e7c4a9323","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0d393b2d56c99c7a671e7"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0e8b26a0c257bb4bf60d4","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API reference","count":249},{"language":"default","tag":"Documentation","count":101},{"language":"default","tag":"Webhooks","count":86},{"language":"default","tag":"Subscription","count":37},{"language":"default","tag":"Integrations","count":33},{"language":"default","tag":"Integrations and exports","count":28},{"language":"default","tag":"Customer","count":22},{"language":"default","tag":"Plan","count":19},{"language":"default","tag":"Credit","count":18},{"language":"default","tag":"Implementation guides","count":16}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"usage-alerting/overview","slug":"/usage-alerting/overview","pageMetadata":{"title":"Alerting overview","description":"Configure cost, usage, and balance alerts and understand their evaluation SLAs.","href":"/usage-alerting/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`alert-types`,children:`Alert types`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Alert type`}),_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Fires when…`}),_jsx(_components.th,{children:`Webhook event(s)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription usage`})}),_jsx(_components.td,{children:`Upcoming subscription invoice + billable metric`}),_jsx(_components.td,{children:`Usage for the metric on the draft invoice crosses any configured threshold.`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/subscription-webhooks/subscriptionusage_exceeded`,children:_jsx(_components.code,{children:`subscription.usage_exceeded`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription cost`})}),_jsx(_components.td,{children:`Upcoming subscription invoice`}),_jsx(_components.td,{children:`Running invoice total (after any credit offsets) crosses any configured monetary threshold.`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/subscription-webhooks/subscriptioncost_exceeded`,children:_jsx(_components.code,{children:`subscription.cost_exceeded`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Grouped subscription cost`})}),_jsx(_components.td,{children:`Upcoming subscription invoice, grouped by event property`}),_jsxs(_components.td,{children:[`A per‑group spend subtotal (e.g. per `,_jsx(_components.code,{children:`seat_id`}),`) crosses a configured monetary threshold. See `,_jsx(_components.a,{href:`/usage-alerting/grouped-cost-alerts`,children:`grouped cost alerts`}),`.`]}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/api-reference/subscription-webhooks/subscriptiongrouped_cost_exceeded`,children:_jsx(_components.code,{children:`subscription.grouped_cost_exceeded`})}),`, `,_jsx(_components.a,{href:`/api-reference/subscription-webhooks/subscriptionalert_disabled`,children:_jsx(_components.code,{children:`subscription.alert_disabled`})})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription spend`})}),_jsx(_components.td,{children:`Upcoming subscription invoice, before credits`}),_jsxs(_components.td,{children:[`Rated spend (line item subtotals before credit draw‑down) crosses a configured monetary threshold. See `,_jsx(_components.a,{href:`/usage-alerting/spend-alerts`,children:`spend alerts`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/subscription-webhooks/subscriptionspend_exceeded`,children:_jsx(_components.code,{children:`subscription.spend_exceeded`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Credit balance depleted`})}),_jsx(_components.td,{children:`Customer`}),_jsxs(_components.td,{children:[`Prepaid balance transitions `,_jsx(_components.strong,{children:`> 0 → 0`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/customer-webhooks/customercredit_balance_depleted`,children:_jsx(_components.code,{children:`customer.credit_balance_depleted`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Credit balance dropped`})}),_jsx(_components.td,{children:`Customer`}),_jsxs(_components.td,{children:[`Prepaid balance transitions `,_jsx(_components.strong,{children:`≥ threshold → below threshold`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/customer-webhooks/customercredit_balance_dropped`,children:_jsx(_components.code,{children:`customer.credit_balance_dropped`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Credit balance recovered`})}),_jsx(_components.td,{children:`Customer`}),_jsxs(_components.td,{children:[`Prepaid balance transitions `,_jsx(_components.strong,{children:`0 → above 0`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/customer-webhooks/customercredit_balance_recovered`,children:_jsx(_components.code,{children:`customer.credit_balance_recovered`})})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`License allocation replenished`})}),_jsx(_components.td,{children:`License`}),_jsxs(_components.td,{children:[`License allocation resets to `,_jsx(_components.strong,{children:`100%.`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`reset_allocations`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`License allocation depleted`})}),_jsx(_components.td,{children:`License`}),_jsxs(_components.td,{children:[`Remaining license allocation reaches `,_jsx(_components.strong,{children:`0%`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`alert_configuration.thresholds`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`License allocation exceeds`})}),_jsx(_components.td,{children:`License`}),_jsx(_components.td,{children:`Remaining license allocation crosses any configured threshold.`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`alert_configuration.thresholds`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`managing-alert-states`,children:`Managing alert states`}),`\n`,_jsxs(_components.p,{children:[`Alerts are often tied to a specific plan or `,_jsx(_components.em,{children:`type`}),` of subscription. Accordingly, Orb allows you to configure alerts on the plan itself and automatically propagates them to all subscriptions of that plan. This allows you to quickly add an alert to an existing plan without having to run a migration over existing subscriptions. Similarly, when an alert is disabled, this change applies to all subscriptions.`]}),`\n`,_jsxs(_components.p,{children:[`Note that alerts can be created, enabled, disabled, or modified either through the Orb UI (at the plan or subscription level) or through the `,_jsx(_components.a,{href:`/api-reference/alert/create-customer-alert`,children:`API`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=812280e7b55f08773b053e82d8149d32`,alt:`Plan alerts`,\"data-og-width\":`2742`,width:`2742`,\"data-og-height\":`1640`,height:`1640`,\"data-path\":`images/plan-alerts.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=280\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=bbbb2f9e489e765132b4734a52caab56 280w, https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=560\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=5720f8f297d6dadeb7ad678506f1f8f8 560w, https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=840\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=9ea3619a54d388ba14c293915fda169f 840w, https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=1100\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=122994891460cefe7e03dda997e1a96e 1100w, https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=1650\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=1e62cbba6a1f084882f7ac2900c1d2d6 1650w, https://mintcdn.com/orb-9bba378a/w7VuLoqrCaLK7or4/images/plan-alerts.png?w=2500\u0026fit=max\u0026auto=format\u0026n=w7VuLoqrCaLK7or4\u0026q=85\u0026s=bef6febc8aeb50492451620056b1fdb7 2500w`}),`\n`,_jsx(_components.p,{children:`It’s often useful to set ad hoc alerts for specific customers (especially when dealing with Enterprise contracts), so alerts can also be managed at the individual subscription level. Orb’s subscription card allows you to view alerts inherited from the plan and change them for the specific subscription instance. With this workflow, you can create alerts that correspond to a customer’s usage patterns, even if they differ from other subscriptions to the same plan.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=5c594ce998ea04f23a477301f8ce38b4`,alt:`Inherited alerts`,\"data-og-width\":`1300`,width:`1300`,\"data-og-height\":`438`,height:`438`,\"data-path\":`images/inherited-alerts.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=280\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=648f2a9a4c8f27d9a3f0e7c4bfa96c98 280w, https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=560\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=ac3addc74738c800941fec3984f80f6f 560w, https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=840\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=dac47f347e88742c45141cc83c76b7b9 840w, https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=f412f7dac6b77ed4859cb2ab0aa69dca 1100w, https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=a9cbaa567fbd606b6b72d724e25e4db0 1650w, https://mintcdn.com/orb-9bba378a/2A5OiQ38Rzt8eVDS/images/inherited-alerts.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2A5OiQ38Rzt8eVDS\u0026q=85\u0026s=d6e53858ce3fe9c6bef8c5463438b261 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`viewing-triggered-alerts`,children:`Viewing triggered alerts`}),`\n`,_jsx(_components.p,{children:`Each subscription card on the customer page in Orb shows which alerts have been triggered during the current billing period, and the time at which the threshold was exceeded.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=2fd44123fdb1d1776a471d7008b07a79`,alt:`Alerts view`,\"data-og-width\":`2622`,width:`2622`,\"data-og-height\":`1410`,height:`1410`,\"data-path\":`images/alerts-view.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=280\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=bd8a0d2fdaa1d4bd155ebfaae03fa049 280w, https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=560\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=0b22f2a6204ec05f2290034bcd3eb316 560w, https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=840\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=c8ee6f8c78f77875dc1c7add91a09eda 840w, https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=1100\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=7a7c7c3ca1d8e6e8e1202f4af0568c07 1100w, https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=1650\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=71dc616f34a0e8449e364fe9fb41ecb0 1650w, https://mintcdn.com/orb-9bba378a/TFjsittdTxe63RXZ/images/alerts-view.png?w=2500\u0026fit=max\u0026auto=format\u0026n=TFjsittdTxe63RXZ\u0026q=85\u0026s=284c48c0d6ebcab3f1325b71fec491fb 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`evaluation-mechanics-\u0026-slas`,children:`Evaluation mechanics \u0026 SLAs`}),`\n`,_jsx(_components.p,{children:`Most alerts and related usage monitoring actions like threshold invoicing and automatic top‑ups are evaluated in real-time, allowing you to build spend management workflows integrated into your product experience that are nearly instantaneous.`}),`\n`,_jsx(_components.p,{children:`Orb also supports periodic evaluation for more complex metrics, even allowing you to set up alerting over metrics that require a view of the full billing period to evaluate. In this case, the alert is evaluated periodically, and the Orb dashboard will indicate the difference in evaluation cadence eligibility.`}),`\n`,_jsx(_components.p,{children:`Note that an alert that composes multiple metrics (e.g. a balance alert that depends on drawdowns on all metrics or an invoice costs alerts that depends on the sum of all line items) will still be evaluated in real-time on the basis of the metrics that support incremental computation. In other words, if a large majority of your usage comes from simple, incrementally computable metrics, the alert will be evaluated in near real-time. The Orb dashboard will indicate that a subset of metrics are incrementally computable and cause the alert to be evaluated in real-time.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Path`}),_jsx(_components.th,{children:`Eligibility`}),_jsx(_components.th,{children:`Latency`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Real‑time`})}),_jsxs(_components.td,{children:[`Draft invoices for the customer contain only `,_jsx(_components.strong,{children:`decomposable`}),` line items (metrics that are possible to incrementally compute, e.g., `,_jsx(_components.code,{children:`SUM`}),` or `,_jsx(_components.code,{children:`COUNT`}),`).`]}),_jsx(_components.td,{children:`Seconds to minutes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Periodic`})}),_jsxs(_components.td,{children:[`A metric (e.g., `,_jsx(_components.code,{children:`COUNT DISTINCT`}),`, percentile metrics) is present that requires scanning the full events dataset for the billing period.`]}),_jsx(_components.td,{children:`Periodically, but Orb provides an option for commercial add-ons on Advanced and Enterprise agreements that guarantee tight SLAs.`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Creating a new alert or modifying an existing alert’s thresholds immediately\ninvalidates the customer so the alert is re‑evaluated on the appropriate path,\nbut this may take several minutes to complete.`})}),`\n`,_jsx(Heading,{level:`2`,id:`consuming-alerts-via-webhooks`,children:`Consuming alerts via webhooks`}),`\n`,_jsx(_components.p,{children:`All alerts generate a webhook event when they fire, and your system can use this event to trigger actions. If several thresholds are crossed in rapid succession, Orb sends only the event for the highest threshold.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/usage-alerting/grouped-cost-alerts`,children:`Grouped cost alerts`}),` instead emit a single `,_jsx(_components.code,{children:`subscription.grouped_cost_exceeded`}),` event that batches every group that crossed a threshold in the same evaluation, so handle its `,_jsx(_components.code,{children:`groups`}),` array rather than expecting one event per group.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Alerting overview","description":"Configure cost, usage, and balance alerts and understand their evaluation SLAs.","href":"/usage-alerting/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Alert types","slug":"alert-types","depth":2,"children":[]},{"title":"Managing alert states","slug":"managing-alert-states","depth":2,"children":[]},{"title":"Viewing triggered alerts","slug":"viewing-triggered-alerts","depth":2,"children":[]},{"title":"Evaluation mechanics \u0026 SLAs","slug":"evaluation-mechanics-\u0026-slas","depth":2,"children":[]},{"title":"Consuming alerts via webhooks","slug":"consuming-alerts-via-webhooks","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"orb-9bba378a","siteName":"Orb","title":"Alerting overview - Orb","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T16:05:16.312Z","originalFileLocation":"usage-alerting/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Orb\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Alerting overview - Orb\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Orb\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.withorb.com/usage-alerting/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://orb-9bba378a.mintlify.app/_mintlify/api/og/v2?division=Usage+alerting\u0026amp;title=Alerting+overview\u0026amp;description=Configure+cost%2C+usage%2C+and+balance+alerts+and+understand+their+evaluation+SLAs.\u0026amp;theme=f619f323fb9da48b5dc7c8f5\u0026amp;signature=2775d2abeff6de734985500e21a91e848075c0fbd3348ca6caf9bb94e1a8a043\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Alerting overview - Orb\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://orb-9bba378a.mintlify.app/_mintlify/api/og/v2?division=Usage+alerting\u0026amp;title=Alerting+overview\u0026amp;description=Configure+cost%2C+usage%2C+and+balance+alerts+and+understand+their+evaluation+SLAs.\u0026amp;theme=f619f323fb9da48b5dc7c8f5\u0026amp;signature=2775d2abeff6de734985500e21a91e848075c0fbd3348ca6caf9bb94e1a8a043\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/orb-9bba378a/hy43bbps97NOnsM5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Orb\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15003F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.withorb.com/usage-alerting/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/usage-alerting/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.withorb.com/#organization\",\"name\":\"Orb\",\"url\":\"https://docs.withorb.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/orb-9bba378a/LPn-ELJYNR-oFxhG/logo/orb-dark.svg?fit=max\u0026auto=format\u0026n=LPn-ELJYNR-oFxhG\u0026q=85\u0026s=9fbf232788a0bfab91e460473924a06f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.withorb.com#website\",\"name\":\"Orb\",\"url\":\"https://docs.withorb.com\",\"publisher\":{\"@id\":\"https://docs.withorb.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.withorb.com/usage-alerting/overview#webpage\",\"url\":\"https://docs.withorb.com/usage-alerting/overview\",\"name\":\"Alerting overview\",\"description\":\"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\",\"dateModified\":\"2026-10-22T16:05:16.312Z\",\"isPartOf\":{\"@id\":\"https://docs.withorb.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.withorb.com/usage-alerting/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.withorb.com/usage-alerting/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Orb\",\"item\":\"https://docs.withorb.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alerting overview\",\"item\":\"https://docs.withorb.com/usage-alerting/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.withorb.com/usage-alerting/overview#article\",\"headline\":\"Alerting overview\",\"name\":\"Alerting overview\",\"description\":\"Configure cost, usage, and balance alerts and understand their evaluation SLAs.\",\"url\":\"https://docs.withorb.com/usage-alerting/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.withorb.com/usage-alerting/overview#webpage\"},\"dateModified\":\"2026-10-22T16:05:16.312Z\",\"publisher\":{\"@id\":\"https://docs.withorb.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.withorb.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Orb\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Orb","nav":{"global":{"anchors":[{"anchor":"Changelog","icon":"newspaper","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://changelog.withorb.com"},{"anchor":"Status","icon":"signal","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://status.withorb.com"},{"anchor":"Blog","icon":"book-open-cover","color":{"light":"#15003F","dark":"#F9FAFB"},"href":"https://www.withorb.com/blog"}]},"tabs":[{"tab":"Documentation","pages":[{"group":"Get started","pages":[{"title":"Overview","href":"/overview"},{"title":"What is Orb?","href":"/introduction"},{"title":"How Orb works","href":"/how-orb-works"},{"title":"Core concepts","href":"/core-concepts"},{"group":"Quickstart","pages":[{"title":"Quickstart overview","sidebarTitle":"Overview","href":"/quickstart-guide"},{"title":"Ingest events","href":"/quickstart/ingest"},{"title":"Create a billable metric","href":"/quickstart/metrics"},{"title":"Build your product catalog","href":"/quickstart/catalog"},{"title":"Package prices into a plan","href":"/quickstart/pricing"},{"title":"Manage subscriptions","href":"/quickstart/subscriptions"},{"title":"Invoice your customers","href":"/quickstart/invoicing"}]},{"title":"Next steps","href":"/next-steps"}]},{"group":"Architecture","pages":[{"title":"Query-based billing","href":"/architecture/query-based-billing"},{"title":"Diff-based engine","href":"/architecture/billing-architecture"}]},{"group":"Essentials","pages":[{"title":"Authentication","href":"/essentials/authentication"},{"title":"Audit logs","href":"/essentials/audit-logs"},{"title":"SDK","href":"/essentials/sdk"},{"title":"Postman","href":"/essentials/postman"},{"title":"Timezone localization","href":"/essentials/timezones"},{"title":null,"href":"/essentials/production-readiness-review"},{"title":"Dry run requests","href":"/essentials/dry-run"},{"title":"Preview side effects","href":"/essentials/previews"},{"title":"Pending changes","href":"/essentials/pending-changes"}]},{"group":"Events and metrics","pages":[{"title":"Ingest events","href":"/events-and-metrics/event-ingestion"},{"title":"Integrate with cloud storage","href":"/events-and-metrics/cloud-storage-integration"},{"title":"Segment integration","href":"/events-and-metrics/segment-integration"},{"title":"Construct metrics","href":"/events-and-metrics/construct-metrics"},{"title":"Parameterized metrics","href":"/events-and-metrics/parameterized-metrics"},{"title":"Customer aliases","href":"/events-and-metrics/customer-aliases"},{"title":"Hosted rollups","href":"/events-and-metrics/high-throughput-ingestion"},{"title":"Querying data with SQL","href":"/events-and-metrics/querying-with-sql"},{"title":"Events query explorer","href":"/events-and-metrics/query-explorer"},{"title":"Backfill and amend events","href":"/events-and-metrics/reporting-errors"}]},{"group":"Pricebook","pages":[{"title":"Core concepts","href":"/pricebook/core-concepts"},{"title":"Building your pricebook","href":"/pricebook/building"},{"title":"Price configuration","href":"/product-catalog/price-configuration"},{"title":"Dimensional pricing","href":"/product-catalog/dimensional-pricing"},{"title":"Configuring plans","href":"/product-catalog/build-catalog"},{"title":"Managing your pricebook","href":"/pricebook/managing-the-pricebook-and-product-catalog"},{"title":"Handling duplicate prices","href":"/pricebook/handling-duplicate-prices"}]},{"group":"Subscription management","pages":[{"title":"Creating subscriptions","href":"/product-catalog/creating-subscriptions"},{"group":"License pricing","pages":[{"title":"License configuration","href":"/product-catalog/license-pricing"},{"title":"License allocations","href":"/product-catalog/license-allocations"},{"title":"License alerting","href":"/product-catalog/license-alerting"}]},{"group":"Subscription lifecycle management","pages":[{"title":"Subscription edits","href":"/product-catalog/editing-subscriptions"},{"title":"Subscription plan changes","href":"/product-catalog/subscription-plan-change"}]},{"title":"Applying adjustments and discounts","href":"/product-catalog/adjustments"},{"group":"Prepaid credits","pages":[{"title":"Configure prepaid credits","href":"/product-catalog/prepurchase"},{"title":"Credit systems","href":"/product-catalog/credit-systems"},{"title":"Scoped credit blocks","href":"/product-catalog/scoped-credits"}]},{"title":"Executing a price change","href":"/product-catalog/price-changes"},{"title":"View subscription usage","href":"/product-catalog/usage-visibility"},{"title":"Customer hierarchy","description":null,"href":"/product-catalog/customer-hierarchy"}]},{"group":"Usage alerting","pages":[{"title":"Alerting overview","href":"/usage-alerting/overview"},{"title":"Subscription alerts","description":"Configure cost and usage‑based alerts at the plan or individual subscription level.","href":"/usage-alerting/subscription-alerts"},{"title":"Grouped cost alerts","href":"/usage-alerting/grouped-cost-alerts"},{"title":"Spend alerts","href":"/usage-alerting/spend-alerts"},{"title":"Balance alerts","href":"/usage-alerting/balance-alerts"},{"title":"Spend management","href":"/usage-alerting/spend-management"}]},{"group":"Invoicing","pages":[{"title":"Invoicing Overview","href":"/invoicing/introduction"},{"title":"Structure and lifecycle","href":"/invoicing/structure"},{"group":"Invoice calculations","pages":[{"title":"Invoice calculations","href":"/invoicing/invoice-calculations"},{"title":"Invoice calculation examples","href":"/invoicing/invoice-calculation-examples"}]},{"title":"Adjust draft invoices","href":"/invoicing/Invoice-adjustments"},{"title":"Invoice issuance","href":"/invoicing/invoice-issuance"},{"title":"Payments","href":"/invoicing/payments"},{"title":"Customer balance","href":"/invoicing/customer-balance-transactions"},{"title":"Invoice portal","href":"/invoicing/invoice-portal"},{"title":"Invoice delivery","href":"/invoicing/invoice-delivery"},{"group":"Invoice deferral","pages":[{"title":"Invoice deferral","sidebarTitle":"Overview","href":"/invoicing/invoice-deferral"},{"title":"Invoice deferral scenarios","sidebarTitle":"Advanced scenarios","href":"/invoicing/invoice-deferral-scenarios"}]},{"title":"Invoice display","href":"/invoicing/invoice-display"},{"title":"One-off invoices","href":"/invoicing/one-off-invoice-creation"},{"title":"Threshold Invoicing","href":"/invoicing/threshold-invoicing"},{"title":"Cumulative invoicing","href":"/invoicing/cumulative-invoicing"},{"title":"Credit notes","href":"/invoicing/credit-notes"},{"title":"CSV downloads","href":"/invoicing/invoice-csv-downloads"}]},{"group":"Collections","pages":[{"title":"AR aging","href":"/financial-operations/ar-aging"},{"title":"Essential dunning","href":"/financial-operations/essential-dunning"},{"title":"Advanced dunning","hidden":true,"href":"/invoicing/advanced-dunning"},{"title":"Collections Automations","href":"/financial-operations/automations"}]},{"group":"Revenue reporting","pages":[{"title":"Reporting configurations","href":"/revenue-reporting/reporting-pivots"},{"title":"Recognition methodology","href":"/revenue-reporting/revenue-recognition"},{"title":"Examples","href":"/revenue-reporting/revenue-recognition-examples"},{"title":"Month-end close","href":"/revenue-reporting/month-end-close"}]},{"group":"Data exports","pages":[{"title":"Data Exports Overview","href":"/data-exports/introduction"},{"title":"Best practices","href":"/data-exports/best-practices"},{"title":"Financial analyses using Orb data","href":"/data-exports/use-cases"},{"title":"Exported resource types","href":"/data-exports/resource-types"},{"group":"Export destinations","pages":[{"title":null,"href":"/data-exports/athena"},{"title":null,"href":"/data-exports/aurora-postgres"},{"title":null,"href":"/data-exports/aurora-mysql"},{"title":null,"href":"/data-exports/big-query"},{"title":null,"href":"/data-exports/databricks"},{"title":null,"href":"/data-exports/motherduck"},{"title":null,"href":"/data-exports/postgres"},{"title":null,"href":"/data-exports/redshift"},{"group":"Snowflake","pages":[{"title":null,"href":"/data-exports/snowflake"},{"title":null,"href":"/data-exports/snowflake-password-deprecation"}]},{"title":null,"href":"/data-exports/s3"}]}]},{"group":"Simulations","pages":[{"title":"Introduction","href":"/simulations/introduction"},{"title":"Use case guide: launching new products","href":"/simulations/new-product"},{"title":"Use case guide: evolve existing pricing","href":"/simulations/evolve-pricing"}]},{"group":"Extending Orb","pages":[{"title":"Advanced metrics","href":"/extensibility/advanced-metrics"},{"title":"Custom pricing","href":"/extensibility/custom-pricing"}]}]},{"tab":"Implementation guides","pages":[{"title":"Implementation guides","href":"/tutorials/first-usage-event"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/idempotency"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations-and-exports/introduction"}]}]},"title":"Alerting overview - Orb","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}