Webhook: Zapier

Connect budget alerts to 7,000+ apps via Zapier webhooks.

Overview

Zapier lets you route Grafient budget alerts to thousands of apps — Slack, Discord, PagerDuty, Google Sheets, email, SMS, and more. Instead of configuring each service individually, you create a Zap that listens for a webhook and forwards the alert wherever you need it.

Prerequisites

  • A Zapier account (the free plan supports up to 5 Zaps).
  • At least one budget alert configured in Grafient (see Budget Alerts).

Step 1: Create a New Zap

  1. Log in to Zapier and click Create a Zap (or the + button).
  2. For the Trigger, search for and select Webhooks by Zapier.
  3. Choose Catch Hook as the event type.
  4. Click Continue.

"Catch Hook" is the right trigger type. It gives you a URL that receives incoming POST requests — exactly what Grafient sends when an alert fires.

Step 2: Copy the Webhook URL

  1. Zapier will generate a unique webhook URL that looks like:
https://hooks.zapier.com/hooks/catch/123456/abcdef/
  1. Copy this URL.

Step 3: Add the URL to Your Alert

  1. In Grafient, go to Alerts in the sidebar.
  2. Click Add Alert (or edit an existing alert).
  3. Set your threshold and period as usual.
  4. Paste the Zapier webhook URL into the Webhook URL field.
  5. Click Create Alert.

Step 4: Test the Connection

  1. Back in Zapier, click Test trigger.
  2. Zapier will wait for a request. To send a test, you can temporarily set a very low threshold on your alert (e.g. $0.01) so it triggers on the next cron run — or wait for a real trigger.
  3. Once Zapier receives the webhook, it will show the parsed data:
FieldExample Value
textBudget Alert: Your daily spend ($45.00) exceeded your $30.00 threshold
alert.perioddaily
alert.threshold30
alert.currentSpend45
  1. Click Continue once you see the test data.

Step 5: Configure Your Action

Now add an Action step to do something with the alert. Common examples:

Send to a Slack Channel

  1. Choose Slack as the action app.
  2. Select Send Channel Message.
  3. Map the text field to the message body.

Send an SMS via Twilio

  1. Choose Twilio as the action app.
  2. Select Send SMS.
  3. Use the text field as the message content.

Log to Google Sheets

  1. Choose Google Sheets as the action app.
  2. Select Create Spreadsheet Row.
  3. Map alert.period, alert.threshold, and alert.currentSpend to columns.

Post to Discord

  1. Choose Discord as the action app.
  2. Select Send Channel Message.
  3. Map the text field to the message body.

You can chain multiple actions in a single Zap — for example, send a Slack message and log to Google Sheets from the same alert.

Payload Reference

Every webhook POST from Grafient sends this JSON body:

{
  "text": "Budget Alert: Your daily spend ($45.00) exceeded your $30.00 threshold",
  "alert": {
    "period": "daily",
    "threshold": 30.00,
    "currentSpend": 45.00
  }
}
FieldTypeDescription
textstringHuman-readable alert message
alert.periodstring"daily", "monthly", or "spike"
alert.thresholdnumberThe configured threshold in USD
alert.currentSpendnumberThe actual spend that triggered the alert

Troubleshooting

Zapier says "waiting for a hook"

The webhook URL only becomes active after Zapier receives at least one request. Either wait for a real alert to trigger, or temporarily lower your threshold so the next cron run sends a test payload.

Zap doesn't fire

  • Check Zap status: Make sure the Zap is turned on (published). Draft Zaps don't execute.
  • Verify the URL: Ensure the full Zapier webhook URL was pasted correctly in Grafient, starting with https://hooks.zapier.com/.
  • Check alert status: Go to the Alerts page in Grafient and confirm the alert is Active and has a "Last triggered" timestamp.