Notifications

Set up Slack

Nibwright posts to a Slack channel through an incoming webhook you create in your own workspace. It takes about four minutes and needs no access to your Slack account.

What you need

One incoming webhook URL for the Slack channel you want notifications in. A webhook URL points at exactly one channel, so if you want job matches in #upwork and nothing anywhere else, create the webhook for that channel.

You need permission to install an app in your workspace. In most workspaces any member can, but some require an admin to approve it. If yours does, the request is sent automatically when you try.

This is your app, not ours

You create the Slack app in your own workspace and hold the webhook URL. Nibwright never asks for access to your Slack account and cannot read anything in it. It only POSTs to the one URL you paste in, and you can revoke it at any time by deleting the webhook.

Create the webhook

  1. 1. Create a Slack app

    Go to api.slack.com/apps and press Create New App, then From scratch.

    Name it something you will recognise later, for example Nibwright, and pick the workspace it should post into.

  2. 2. Turn on Incoming Webhooks

    In the app's settings sidebar, open Incoming Webhooks and switch Activate Incoming Webhooks on.

  3. 3. Add a webhook to your workspace

    Press Add New Webhook to Workspace at the bottom of that page, choose the channel you want notifications in, and press Allow.

    Slack returns a URL starting with https://hooks.slack.com/services/. Copy it.

  4. 4. Paste it into Nibwright

    Go to Dashboard, Integrations, paste the URL into the Slack row, and press Save. Saving also switches the channel on.

  5. 5. Send a test

    Press Send a test. A test digest should appear in the channel you chose within a few seconds, and the row changes to Delivered with a timestamp.

Treat the webhook URL like a password. Anyone who has it can post into that channel. Nibwright stores it so it can send to it, and the field shows it back to you so you can check what is saved.

What a message looks like

Slack messages use Block Kit, so each posting gets a heading that links straight to the draft, a row of fields, and a quote of the drafted opening. Up to 6 postings get a block, the rest become a count, and one button at the bottom opens the full list.

BlockCarries
HeaderThe digest summary, e.g. 15 proposal drafts ready to review.
Posting headingThe job title, linked to the draft or match.
FieldsSearch name, match score, budget, client country, suggested bid.
QuoteThe drafted opening line, or the job description if nothing is drafted yet.
ButtonReview the drafts, opening your dashboard.

Slack shows the plain-text version in push notifications and on clients that do not render Block Kit, so nothing is lost on a phone lock screen.

Troubleshooting

What you seeWhat it meansFix
Slack webhook 404: no_serviceThe webhook no longer exists. It was deleted, or the app was removed from the workspace.Create a new webhook and paste the new URL in.
Slack webhook 403: invalid_tokenThe URL is wrong or was revoked.Copy it again from the Incoming Webhooks page, taking the whole URL.
Slack webhook 404: channel_not_foundThe channel the webhook pointed at was archived or deleted.Create a webhook for a channel that still exists.
Slack webhook 400: invalid_blocksSlack rejected the message layout. This is a bug on our side, not a setup problem.Let us know. Your other channels are unaffected.
Delivered, but the channel is emptyThe webhook points at a different channel than the one you are looking at.Check the webhook row on api.slack.com/apps, which names the channel each URL posts to.