Your first source
A source is a key with a name and rules, one per thing that sends. The key k_7hq2nk3f9qd8w4 and the source deploy.sh are the same object.
Why one per sender
Every notification carries its source's name and icon, and every rule (how loud, whether quiet hours hold it, how it groups, where it goes) belongs to the source. Two scripts sharing a key would share one set of rules and one name, so the product nudges you to give each sender its own. Sources are free; an account may have 200.
Naming
Lowercase letters, digits, hyphens and dots, 1 to 32 characters, starting and ending with a letter or a digit (deploy.sh, checkout-api, ci). Unique in your account, and renameable: a rename updates the label on past notifications too.
Types
The type picks the default name and the snippet the key screen shows. It never changes what the key accepts: every source takes text, JSON, the GET form and the bearer token alike.
The key screen
Creating a source shows its URL key once as a curl line, and its bearer token once, with a copy button for each. Both are yours to keep; the token is stored hashed and cannot be shown again. Rotate issues a new pair: the old one keeps answering for 24 hours with a Deprecation header, then returns 410. Send a test pushes "Test from YouLMK" through the real pipeline, so the rules you set are exercised.
Rules
Mute and delete
Muting a source silences its alerts and its badge for an hour, until tomorrow morning, until Monday or until you unmute; the inbox still receives. Mute from a notification mutes its source. Deleting a source makes its key answer 410 at once; its past notifications keep the name in grey for 30 days, then go.
Next
HTTP API for every way to send · Reach for what the four levels do on each device · Webhooks when a service is the sender.