Monitor and reactivate webhooks

How to monitor and reactivate Zendesk Support webhooks

Your Zendesk Support integration in your Meya app includes an http endpoint that accessed via GET:

What this endpoint is used for:

  • Monitor that your Zendesk Support webhook exists, is valid and active.
  • Automatically reactivate the webhook if it’s deactivated by Zendesk for too many failures.

📘

You should automatically make a web request to this endpoint periodically using an external monitoring service (recommendation: every 5 minutes) for it to be effective. For example: see G2 services, AWS Lambda or GCP Firebase.

Why your webhook may be down

  • It is misconfigured (human error)
  • It was deleted (or never created)
  • The webhook had too many failures and was deactivated

🚧

It is highly recommended that you actively monitor your Zendesk Support webhook in production.

You can retrieve this endpoint by running meya webhooks from the Meya CLI. It is recommended that you connect this request to an external monitoring software and look for ok: true or IS UP in the message field.

Request curl

curl \
  -H "Cache-Control: no-cache" \
  --user "meya:ZENDESK_SUPPORT_TARGET_PASSWORD" \
  'https://grid.meya.ai/gateway/v2/zendesk_support/{app_id}/{integration_id}'

Success Response 200

👍

This is what a successful response looks like. Note the ok and message field.

{
    "ok": true,
    "message": "Zendesk Support -> Meya webhook: IS UP",
    "result": {
        "was_active": true,
        "reactivated": false,
        "valid": true,
        "target": {
            "type": "url_target_v2",
            "title": "demo-app [grid]",
            "active": true,
            "created_at": "2020-07-22T18:09:03Z",
            "target_url": "https://grid.meya.ai/gateway/v2/zendesk_support/{app_id}/{integration_id}",
            "method": "post",
            "username": "meya",
            "content_type": "application/json",
            "id": 1234567890
        }
    }
}

Fail Response 200

❗️

This is what a fail response looks like. Note the ok and message field.

{
    "ok": false,
    "message": "Zendesk Support -> Meya webhook: IS DOWN",
    "result": {
        "was_active": true,
        "reactivated": false,
        "valid": false,
        "target": {
            "type": "url_target_v2",
            "title": "demo-app [grid]",
            "active": true,
            "created_at": "2020-07-22T18:09:03Z",
            "target_url": "https://grid.meya.ai/gateway/v2/zendesk_support/{app_id}/{integration_id}",
            "method": "get",
            "username": "xxx",
            "content_type": "application/xml",
            "id": 1234567890
        }
    }
}