Skip to content
Codeskop

WhatsApp alerts

Codeskop sends alerts from your own WhatsApp Business number using Meta's WhatsApp Cloud API and a message template we provide. Set it up once; then just give Codeskop four values.

Requirements

  • A Meta Business account (business portfolio) and a Meta developer account.
  • A phone number for sending that isn't already registered in the WhatsApp or WhatsApp Business app, or Meta's free test number while you try it out.
  • A payment method in WhatsApp Manager. Meta charges per template message (the utility rate for your recipients' country); Codeskop doesn't add any charge.
  • Owner or admin role in Codeskop, on the Starter plan or above.

What you'll give Codeskop

OptionTypeDescription
Phone number IDnumberThe ID of your sending number, from WhatsApp Manager → API setup (not the phone number itself).
Access tokensecretA permanent System User token with whatsapp_business_messaging permission. Stored encrypted.
Template nametextcodeskop_alert: the template below, approved in your account.
Recipient number+E.164The WhatsApp number that receives alerts, e.g. +254712345678. Add one channel per recipient.
  1. Create a WhatsApp app in Meta

    This gives you a WhatsApp Business Account and a test number.

    1. Go to developers.facebook.com/apps → Create app → type Business, and link your business portfolio.
    2. On the app dashboard, add the WhatsApp product and open WhatsApp → API setup.
    3. Note the WhatsApp Business Account ID; you need it to create the template by API.
  2. Add your sending number

    In WhatsApp Manager → Phone numbers, add your number and verify it by SMS or call. To try things first, use Meta's test number instead. It can message up to five recipient numbers that you add under API setup → To.

  3. Create the codeskop_alert template

    Download our template, or copy it in by hand.

    Download codeskop_alert.json (ready for Meta's API) · Download codeskop_alert.txt (step-by-step for WhatsApp Manager)

    Option A: WhatsApp Manager

    Open Account tools → Message templates → Create template, choose category Utility, name codeskop_alert, language English, and enter:

    Body
    Codeskop alert: {{1}}Project: {{2}}{{3}}Open it in Codeskop for the full details.
    • Sample values: {{1}} CRITICAL: New crash: NullPointerException in CheckoutActivity, {{2}} Shop Android (Production), {{3}} A new crash was reported. 12 users affected on Android 14.
    • Footer (optional): Sent by Codeskop alerts.
    • Button: Call to action → Visit website, text Open in Codeskop, URL type Dynamic, URL https://dashboard.codeskop.com/{{1}}, sample issues/2f1c9a7e?project=demo&env=production.

    Option B: the API

    Terminal
    curl -X POST "https://graph.facebook.com/v21.0/YOUR_WABA_ID/message_templates" \  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \  -H "Content-Type: application/json" \  -d @codeskop_alert.json

    Meta usually approves utility templates within minutes (up to 24 hours). Wait for the status Active before connecting. Keep the wording and variables exactly as given. Codeskop fills {{1}} with the severity and title, {{2}} with the project and environment, {{3}} with a one-line summary, and the button with the link to the issue or endpoint.

    Another language?

    Create a translation of the same template in WhatsApp Manager, then enter its language code (for example fr or pt_BR) when you connect.
  4. Create a permanent access token

    Temporary tokens from API setup expire after 24 hours.

    1. In Business settings → Users → System users, add a system user with the Admin role.
    2. Choose Assign assets: give it your app and your WhatsApp account, with full control.
    3. Choose Generate new token, select your app, set expiry to Never, and tick whatsapp_business_messaging and whatsapp_business_management.
    4. Copy the token. Meta shows it only once.
  5. Connect WhatsApp in Codeskop

    In Settings → Notifications, choose WhatsApp and enter the phone number ID, access token, template name (codeskop_alert), language (en) and the recipient's number. Codeskop checks the credentials with Meta and sends a test alert through your template. When it arrives, the channel is active.

Troubleshooting

OptionTypeDescription
Credentials rejectedn/aThe phone number ID and token don't belong together, or the token lacks whatsapp_business_messaging. Generate the token for the same app and WhatsApp account.
Template name does not existn/aThe template isn't approved yet, the name isn't exactly codeskop_alert, or the language code doesn't match the approved translation.
Recipient not in allowed listn/aYou're using Meta's test number: add the recipient under API setup → To, or switch to your own number.
Message undeliverablen/aThe recipient number isn't on WhatsApp, or has blocked your business number.
Alerts stoppedn/aThe token was revoked or the template was paused or disabled by Meta. The channel shows Last delivery failed. Fix it in Meta, then remove and reconnect the channel.

Next steps