Skip to content

Bobbins

A bobbin is the plugin for one outside service. It holds what hookspool needs to take that service's webhooks and turn them into work: how the sender proves itself, what its events group on, and sometimes a processor that asks the service what changed. Its name is <vendor>.<product>: the company that runs the service, then the product or API surface whose webhooks it receives (google.gmail, atlassian.trello, github.repo; hookspool. is reserved for the generic ones shipped with hookspool). A deployment turns one on with a [bobbins.<instance>] table that names it (bobbin = "google.gmail"); see the configuration reference.

A service with no push of any kind gets a poll bobbin. Instead of a source, it has a poller.py that the dispatcher's clock starts every every_s seconds. It has no URL and asks the service what changed (Poll bobbins). A service that can push always gets a webhook bobbin, never a poll.

The catalogue

Each name links to the bobbin's own README, which lists its settings, secrets, outputs and limits. SETUP.md in the same directory is the step-by-step setup for a person, and AGENTS.md is the same procedure for an agent.

bobbin what it does
atlassian.trello Trello board webhook: card and board actions, signed with HMAC-SHA1 over the body and the callback URL
cloudflare.notifications Cloudflare Notifications webhook destination: one JSON POST per alert, the shared secret sent in the cf-webhook-auth header
courtlistener.alerts CourtListener alert webhooks: docket, search, RECAP fetch and pray-and-pay events, authenticated by a secret token in the callback URL
finnhub.earnings Finnhub earnings webhook: an announcement per watched symbol, verified by a shared secret header
github.repo GitHub repository webhook: HMAC-SHA256 over the raw body; pings are acknowledged and not enqueued
google.calendar Google Calendar push (watch channel): conflicts, meeting-brief requests and a change notice for one calendar
google.contacts Google Contacts (People API), polled with a sync token because the API has no push: which contacts changed or were deleted, by resource name only
google.drive Google Drive push (watch channel): file changes, new files and files shared with the account, by id, never by content
google.gmail Gmail push (Cloud Pub/Sub): new mail in the owner's and an optional assistant's mailbox, read from Gmail's history
google.meet Google Meet events (Workspace Events API over Cloud Pub/Sub): a call started, and who attended once it ended
google.tasks Google Tasks (polled; the API has no push): tasks added, edited, completed or deleted, by id, never by content
hookspool.webhook Any web service that sends a signed or tokened JSON POST: the template source, configured entirely by settings
kaneo.projects Kaneo generic webhook: project and task events, HMAC-SHA256 of the JSON body in X-Kaneo-Signature
plaid.items Plaid webhooks: items, transactions and link events, signed with an ES256 JWT checked against Plaid's published keys
sec.edgar SEC EDGAR filings: new 8-K, Form 4 and other filings for the companies you follow (Atom feeds, polled)
zoom.meetings Zoom event subscriptions: meeting and webinar events, signed with a timestamped HMAC, and the endpoint URL validation

The rows are the manifests' own summary lines. A pull request that adds a bobbin does not touch this page; the maintainer regenerates the table when merging it. hookspool bobbin list prints the same list from the installed copy, and hookspool bobbin show <vendor>.<product> prints one bobbin's provider pages and settings.

In this folder

page what is in it
Writing a bobbin the layout, the scaffold, the source (config template or code plugin), captures and the checks
The hookspool.webhook bobbin covering a service that has no bobbin of its own, and turning that into a dedicated bobbin
Mail rules and rule packs recognising mail from services that only send email (orders, reservations, court alerts) with the google.gmail bobbin
Private bobbins and hooks changing behaviour without editing a built-in bobbin
Reviewing a bobbin hookspool bobbin check, what green means, and what a maintainer still checks