Notifications
The simplest channel to turn on and the slowest to arrive. Worth having as a readable archive, worth pairing with something faster.
1. Switch it on
Go to Dashboard, Integrations and turn on the toggle in the Email row. That is the whole setup.
Digests go to the address you signed in with, shown in that row, and there is no field to change it. That is deliberate: a free-text destination here is an unverified address one typo away from silence, and the failure looks exactly like a quiet market rather than like a mistake. To send digests somewhere else, change the address on your account and this follows it.
2. Send a test
Press Send a test. A test digest arrives within seconds, and the row changes to Delivered with a timestamp.
3. Tell your mail client it is wanted
Open the test message and add the sender to your contacts. On Gmail, if it landed in Promotions or Spam, drag it to Primary and press Not spam. Doing this once on the test is what keeps real digests out of the same folder later.
One message per batch, not one per job. The subject names the count so you can triage from the list without opening anything:
| Subject | When |
|---|---|
15 proposal drafts ready to review | A batch of drafts is waiting. |
3 new job matches | Alert-only searches found postings, nothing drafted. |
12 Upwork updates: 9 drafts ready, 3 new matches | A batch containing both. |
Draft ready: {job title} | A batch of exactly one, so the subject names the job instead of a count. |
Nibwright: out of credits | An account alert. Never batched, sent at most once an hour. |
Nibwright: Upwork reconnect needed | An account alert. Never batched, sent at most once an hour. |
The body shows up to 6 postings as cards, best first, each with budget, client country, the search that found it, the match score, the drafted opening line and a link straight to the draft. Anything beyond that becomes a count and a link to the full list.
Every message is sent as both HTML and plain text, so a text-only client or a screen reader gets the same content, in the same order.
Two delays stack up on email. The first is the batching window every channel shares, up to 10 minutes. The second is your mail provider, which can add minutes of its own, and which decides on its own whether the message goes to your inbox at all.
On a posting where being early is most of the advantage, that is enough to matter. Email is a good archive and a good backup. Pair it with Slack for the push.
Nothing is ever lost to a mail problem
| What you see | What it means | Fix |
|---|---|---|
Email is not configured on this server | This deployment has no mail credentials, so nothing can be sent by email at all. | Nothing you can fix from the app. Use Slack until it is configured. |
| Delivered, but nothing arrived | The mail server accepted it and your provider filed it somewhere else. | Search your whole mailbox for Nibwright, including Spam, Promotions and All Mail. Then mark it Not spam and add the sender to your contacts. |
Invalid login / 535 | The mail server on this deployment is misconfigured. | Nothing you can fix from the app. Use Slack until it is sorted. |
550 / mailbox unavailable | The address does not exist, or the receiving server rejected it. | Check the address for typos and save it again. |
| Not tested yet, and the button does nothing | There is no address saved on the row yet. | Type the address, press Save, then Send a test. |
| Mail arrives, but hours late | Your provider is greylisting or queueing the sender. | Add the sender to your contacts, and do not rely on email as your only channel. |