Get your feed where you work
Email is the default. If your sales team lives in Slack, your ops team in Zapier, or your internal stack expects a webhook — point Shovel Radar at them. We notify everywhere you're set up; the Excel is always available in the portal.
Channel 1
A rich Block Kit message lands in your chosen channel every time a new delivery ships. Includes row count + a "Download workbook" button.
Setup: 60 seconds
No code required
Channel 2
A signed JSON POST to any HTTPS endpoint. Wire it into Zapier to fan out to anything: HubSpot, Salesforce, Airtable, Google Sheets, custom CRMs.
Setup: 2 minutes
Includes HMAC-SHA256 signature
Channel 3
Uses the same Slack-compatible Block Kit payload. Works with Teams' incoming-webhook endpoint URL out of the box.
Setup: 60 seconds
Same UX as Slack
https://hooks.slack.com/services/…).MS Teams: same flow — use the Teams "Incoming Webhook" connector and paste its URL into the same field. The Block Kit format is compatible.
Every delivery POSTs a stable JSON event to your endpoint. Treat any 2xx response as success — we don't retry on failures (email is the source of truth).
POST <your_webhook_url>
Content-Type: application/json
X-Shovel-Radar-Event: delivery.created
X-Shovel-Radar-Signature: sha256=<hmac if secret set>
{
"event": "delivery.created",
"version": 1,
"shovel_radar": {
"customer_id": "cust_abc123def",
"customer_company": "Acme HVAC Ltd."
},
"delivery": {
"product": "Inspection_Failure_Alerts",
"row_count": 47,
"run_date": "2026-05-25",
"download_url": "https://shovelradar.com/api/v1/portal_download?date=2026-05-25&file=Inspection_Failure_Alerts_2026-05-25.xlsx"
}
}
If you set a webhook secret in your dashboard, every POST includes an X-Shovel-Radar-Signature header. Verify it:
# Python example
import hmac, hashlib
expected = "sha256=" + hmac.new(
secret.encode(), request.body, hashlib.sha256
).hexdigest()
if not hmac.compare_digest(expected, request.headers["X-Shovel-Radar-Signature"]):
return 401 # reject — body doesn't match the secret
Don't build a HubSpot / Pipedrive / Salesforce connector — use the Zap recipe below. Same end result, no proprietary integration to maintain.
HubSpot
Contact + Deal per permit row, source-tagged for filtering. Free tier covers ~25 permits/week.
Pipedrive
Organization + Person + Deal pipeline. Custom fields for permit_id + applied date.
Salesforce
Account + Contact + Opportunity + Task. Custom fields + multi-currency notes.
We'll add HubSpot, Salesforce, Pipedrive, or Airtable native connectors based on customer requests. Tell us what you'd use.
Email Matthew →