budget_alert is an early warning that the workspace is close to its monthly budget. When spend reaches 100%, budget_reached follows and new calls and chats are blocked.
When it fires#
Tried checks budgets about once a minute, and right after an admin saves billing settings. The event fires the first time in a calendar month (UTC) that spend is at or above 80% of monthly_budget.
- It fires at most once per month per workspace. The 80% mark is remembered for the month even if no webhook URL was set at the time.
- If spend jumps past 100% between two checks,
budget_alertandbudget_reachedare both sent in the same check. - A new month starts fresh.
Which settings enable it#
- A monthly budget: Billing, Monthly budget, Budget per calendar month ($), or
PATCH /billing/settingswithmonthly_budget(1 to 1,000,000 AUD, admin only).nullremoves the budget. - The workspace webhook URL. Budget events do not use agent or alert URLs, and have no event filter.
Timeout: the workspace timeout, else 10 s. Retries: up to 3 (1 s, 2 s, 4 s).
curl -X PATCH https://api.tried.com.au/billing/settings \
-H "Authorization: Bearer $TRIED_API_KEY" \
-H "Content-Type: application/json" \
-d '{"monthly_budget": 500}'Payload#
{
"event": "budget_alert",
"billing": {
"month": "2026-10",
"monthly_budget": 500,
"month_usage": 401.2875,
"percent": 80.3,
"threshold": 80
}
}Fields#
| Field | Type | Description |
|---|---|---|
billing.month |
string | Calendar month, YYYY-MM, UTC |
billing.monthly_budget |
number | The budget in AUD |
billing.month_usage |
number | Spend so far this month in AUD, 4 decimals |
billing.percent |
number | month_usage as a percent of the budget, 1 decimal |
billing.threshold |
integer | 80 for this event |
The delivery log shows budget events with no call ID.
How to respond#
Reply 2xx. The body is ignored. Typical actions: email the account owner, raise the budget with PATCH /billing/settings, or pause a batch campaign.