Fintech
Plaid Webhooks
Financial data platform. Receive events for transactions, auth, item status, and account updates.
Connecting Plaid to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Plaid. Then:
- 1Set the webhook parameter to your Hookbase ingest URL when calling /link/token/create, or update an existing Item with /item/webhook/update
- 2Leave the secret empty: Plaid uses a signed JWT (Plaid-Verification header), not a shared secret
- 3Hookbase stores Plaid webhooks unverified for now, so verify the JWT downstream with /webhook_verification_key/get if you need to
- 4Use webhook_type and webhook_code to tell products and events apart
Signature verification
Plaid does not sign its webhooks with an HMAC scheme, so a signing secret on the source would have nothing to verify. Use a custom source with no secret, and keep the ingest URL itself hard to guess.
How Plaid secures them instead: No shared secret. Plaid signs a Plaid-Verification JWT (ES256); the key comes from /webhook_verification_key/get (client_id + secret + the JWT kid). Hookbase does not verify this natively yet.
Plaid event types
7 of the events people route most often. Hookbase accepts every event Plaid sends, whether or not it is listed here.
TRANSACTIONS.SYNC_UPDATES_AVAILABLE
New transaction updates are available
TRANSACTIONS.INITIAL_UPDATE
Initial transaction pull is complete
TRANSACTIONS.HISTORICAL_UPDATE
Historical transaction pull is complete
ITEM.ERROR
An item encountered an error (e.g., login required)
AUTH.AUTOMATICALLY_VERIFIED
Auth was automatically verified
HOLDINGS.DEFAULT_UPDATE
Holdings data was updated
INCOME.VERIFICATION_STATUS_UPDATED
Income verification status changed
What a Plaid webhook looks like
A TRANSACTIONS.SYNC_UPDATES_AVAILABLE payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"webhook_type": "TRANSACTIONS",
"webhook_code": "SYNC_UPDATES_AVAILABLE",
"item_id": "item_abc123",
"initial_update_complete": true,
"historical_update_complete": true,
"environment": "production"
}Start receiving Plaid webhooks
Create a source, paste the URL into Plaid, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free