Shovel Radar Shovel Radar

Get your feed where you work

Slack, MS Teams, Zapier, webhooks.

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

Slack

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

Webhook (Zapier / n8n / IFTTT / custom)

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

MS Teams

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

Slack setup

  1. In your Slack workspace, open Apps → Browse → Incoming Webhooks.
  2. Click "Add to Slack", pick the channel you want deliveries to go to (a private #shovel-radar channel is the typical pattern).
  3. Copy the webhook URL (it starts with https://hooks.slack.com/services/…).
  4. In your Shovel Radar dashboard at /app/, paste the URL into "Slack webhook URL" and save.
  5. Your next weekly delivery will land in Slack ~30 seconds after the email goes out.

MS Teams: same flow — use the Teams "Incoming Webhook" connector and paste its URL into the same field. The Block Kit format is compatible.

Webhook setup (Zapier / n8n / custom)

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).

Event payload

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"
  }
}

Signature verification (recommended)

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

Zapier example

  1. Create a new Zap with the "Webhooks by Zapier" trigger → "Catch Hook".
  2. Copy the Zap webhook URL into your Shovel Radar dashboard.
  3. Add downstream actions: "Create row in Google Sheets", "Send Slack DM to me", "Create HubSpot contact for each row", etc.

CRM playbooks (Zapier-based, ~10 min setup each)

Don't build a HubSpot / Pipedrive / Salesforce connector — use the Zap recipe below. Same end result, no proprietary integration to maintain.

Want a different integration?

We'll add HubSpot, Salesforce, Pipedrive, or Airtable native connectors based on customer requests. Tell us what you'd use.

Email Matthew →