# FedM8 Scan — exports & webhooks

Honest inventory of what integrates today. There is **no public REST API** and **no Zapier app listing** yet.

## Browser exports (no keys required)

| What | Where |
|---|---|
| Opportunities CSV / JSON | Opportunities toolbar (Basic+) |
| Opportunity deadlines `.ics` | Calendar view |
| Awards CSV | Award Intel results |
| Subawards CSV | Award Intel → Load subawards |
| Pipeline CSV + dues `.ics` | Opportunities → Pipeline |
| Bid brief / paste shred `.md` | Opportunity shred / Docs paste |
| Certification path `.ics` | certifications.html |
| SAM renew `.ics` | Account (when `sam_expires_on` set) |
| Feature board JSON | `portal/FEATURES.json` / features.html download |

## Slack / Teams / Zapier Catch Hooks

1. Apply `worker/alerts-webhook.sql` in Supabase.
2. Save a search → **Edit alerts** → paste an HTTPS webhook URL.
3. Optional: **Send test payload (browser)** — Zapier Catch Hooks usually accept browser POSTs; Slack Incoming Webhooks may block CORS (Railway still posts server-side).
4. Redeploy the Railway worker so the alert pass runs.

Worker payload (Zapier-friendly flat fields) includes roughly:

- `event`, `subject`, `body_text`, `text`
- `search_name`, `app_url`, `created_at`
- Slack/Teams-style `blocks` / `attachments` when posting from the worker

Without `RESEND_API_KEY`, email stays skipped; webhook posts still work when the alert pass runs.

## Not available yet

- Public authenticated REST API for third-party apps
- Official Zapier / Make.com app
- Salesforce connector
- Opening Stripe Checkout for public Basic/Pro (Notify me only — see `STRIPE.md`)
