WME Requests

Notification Channel Setup

How to configure each notification method, with links to the relevant provider docs. Channels are managed under Admin → Notification Channels.

Slack

Posts a formatted card to a Slack channel via an Incoming Webhook.

  1. Go to api.slack.com/apps and click Create New App → From scratch.
  2. Under Incoming Webhooks, toggle it on, then click Add New Webhook to Workspace and choose the target channel.
  3. Copy the generated Webhook URL and paste it into Webhook URL when adding a Slack channel here.

Discord

Posts an embed to a Discord channel (or a new forum post, for Forum channels) via a webhook.

  1. In Discord, open the target channel's Settings → Integrations → Webhooks.
  2. Click New Webhook, optionally rename it, then Copy Webhook URL.
  3. Paste it into Webhook URL. If the target is a Forum channel, also enable "Post as a new thread" — each notification creates a new forum post rather than a reply.

Telegram

Sends a message (or photo, if the request has a screenshot) via a Telegram bot.

  1. Message @BotFather on Telegram, send /newbot, and follow the prompts to get a bot token.
  2. Add the bot to your target group or channel (as an admin, if it's a channel).
  3. Get the chat ID: send any message in the group, then visit https://api.telegram.org/bot<token>/getUpdates in a browser and look for "chat":{"id":...} — or use a helper bot like @getidsbot.
  4. Paste the bot token and chat ID into the channel form.

Email

Sends an email — BYOK, using a credential you add yourself (Postmark, Mailgun, or SMTP).

  1. Add a credential under Admin → Credentials, picking your provider:
    • Postmark — create a Server in your Postmark account and copy its Server API Token; verify a Sender Signature or domain to send from.
    • Mailgun — from your Mailgun dashboard, copy your Private API key and the sending domain.
    • SMTP — use your mail provider's host, port, username, and password.
  2. When adding/editing an email channel, set the recipient address and pick the credential you just added.

Webhook

POSTs a plain, unformatted JSON body — for wiring up your own integrations.

  1. Point Webhook URL at any endpoint you control that accepts a POST with a JSON body.
  2. The body looks like:
    {
      "title": "Downlock Request — South Africa",
      "prefix": "L5ZA",
      "permalink": "https://www.waze.com/editor?...",
      "lock_level": 5,
      "notes": "Speed limit needs adjusting",
      "submitted_by": "waze_editor",
      "submitted_by_url": "https://www.waze.com/user/editor/waze_editor",
      "editor_rank": 4
    }

Google Sheet

Appends a row to a Google Sheet via a reusable service account.

  1. In the Google Cloud Console, create (or pick) a project and enable the Google Sheets API.
  2. Create a Service Account, then create a JSON key for it and download the file.
  3. Open your target spreadsheet, click Share, and give the service account's client_email Editor access.
  4. In Admin → Credentials, add a Google Service Account credential and paste the full JSON key file contents.
  5. When adding/editing a google_sheets channel, paste the spreadsheet ID (from the sheet's URL, between /d/ and /edit) and pick the credential.
  6. If the target tab is empty, a header row is added automatically before the first request is appended — no setup needed.

Google Chat

Posts a simple text message to a Google Chat space via an incoming webhook.

  1. In Google Chat, open the target Space, click its name, then Apps & integrations → Webhooks.
  2. Click Add a webhook, name it, and copy the generated URL.
  3. Paste it into Webhook URL when adding a Google Chat channel here.

ntfy

Sends a push notification to an ntfy topic — works with the public ntfy.sh or a self-hosted server.

  1. Pick a topic name and, optionally, a server. The public ntfy.sh needs no signup — any unguessable topic name works, e.g. https://ntfy.sh/wme-au-downlocks-x7f2.
  2. Paste the full topic URL into Topic URL here.
  3. If the topic is protected (self-hosted with access control, or a reserved topic on ntfy.sh), also set an Access Token — see ntfy's authentication docs. Public topics don't need one.
  4. Subscribe to the same topic in the ntfy app/website to receive the notifications.

Gotify

Sends a push notification via a self-hosted Gotify server.

  1. Set up a Gotify server (self-hosted — there's no public instance).
  2. In the Gotify web UI, go to Apps, create an application, and copy its token.
  3. Paste your Gotify server's URL into Server URL and the app token into Application Token here.

Web Push (browser notifications)

Not a channel an admin configures — any signed-in user can subscribe their own browser directly from the dashboard.

  1. Sign in, then open the dashboard.
  2. Pick a country (and optionally a region) in the Filters card, then click "Notify me".
  3. Accept your browser's notification permission prompt. You'll get a native notification whenever a matching request comes in, until you remove it from the list shown under Filters.
  4. Requires a browser that supports the Push API — all modern desktop and Android browsers; on iOS, Safari requires the site to be added to the Home Screen first.

RSS / Atom Feed

A read-only, pull-based alternative to the channels above — no admin setup needed, and works for anonymous viewers too. Subscribe in any feed reader instead of receiving pushes.

  1. On the dashboard, pick a country (and optionally a region or type), then click Copy Feed URL — it copies a link like /api/feed?country_id=3&type=downlock to your clipboard.
  2. Paste that URL into your feed reader of choice.
  3. Leave off country_id (don't select a country before copying) for a feed of every request across all countries.
  4. The feed is standard RSS 2.0 and updates as soon as new requests come in — no polling delay beyond your reader's own refresh interval.