How to Configure Contacts

Add notification channels — email, Slack, Discord, Telegram, or webhook — so Pinguzo can reach you when an incident occurs.

What is a Contact?

A Contact is a named destination for alert notifications. Each contact can have one or more notification channels (e.g., both an email address and a Slack webhook). When an alert policy triggers, Pinguzo sends a message to every channel configured on the selected contacts.

Opening Contacts

Navigate to Alerts in the sidebar, then click the Contacts tab. Your existing contacts are listed with channel badges indicating which notification methods are configured.

Default Contact

When your Pinguzo account is created, a default contact is automatically added using your account's email address. This contact:

Adding a New Contact

  1. Click Add Contact in the top-right of the Contacts tab
  2. Enter a Contact Name (e.g., "DevOps Team Slack", "On-Call Engineer")
  3. Fill in one or more notification channel fields (see channel guides below)
  4. Click Save Contact

The new contact immediately appears in the contact selector when creating or editing alert policies.

Notification Channels

✉️
Email All Plans

Pinguzo sends a formatted HTML email to the address you configure. The email includes the incident title, trigger type, affected resource, start time, and a link to the resource's metrics page.

FieldDescription
Email AddressAny valid email address.
Default contact limitation (Free plan) On the Free plan, the only available contact is the default contact with your account email. Upgrade to Pro to add additional contacts with different email addresses or other channels.
💬
Slack Personal / Mini / Professional / Business

Pinguzo posts a formatted message to a Slack channel via an Incoming Webhook. The message includes the incident details with color-coded status indicators.

Setup Steps

1

Go to api.slack.com/apps and click Create New App → From scratch.

2

Give the app a name (e.g., "Pinguzo Alerts") and select your workspace.

3

In the app settings, click Incoming Webhooks and toggle it On.

4

Click Add New Webhook to Workspace and select the channel to post to.

5

Copy the Webhook URL and paste it into the Slack field in Pinguzo.

FieldDescription / Format
Slack Webhook URL https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
🎮
Discord Personal / Mini / Professional / Business

Pinguzo sends a message to a Discord channel via a Discord webhook. Messages are posted as an embed with incident details and status color.

Setup Steps

1

Open Discord and go to the channel where you want alerts posted.

2

Click the gear icon next to the channel name → Integrations → Webhooks.

3

Click New Webhook, give it a name, and optionally set a custom avatar.

4

Click Copy Webhook URL and paste it into the Discord field in Pinguzo.

FieldDescription / Format
Discord Webhook URL https://discord.com/api/webhooks/000000000000000000/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
✈️
Telegram Personal / Mini / Professional / Business

Pinguzo sends Telegram messages via the Bot API. You need a bot token and a chat ID (which can be a personal chat, group, or channel).

Setup Steps

1

Open Telegram and search for @BotFather. Send the command /newbot and follow the prompts.

2

BotFather will give you a Bot Token — a string like 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Copy it.

3

Get your Chat ID:
• For a personal chat: send any message to your bot, then visit https://api.telegram.org/botTOKEN/getUpdates — the chat.id field in the response is your Chat ID.
• For a group: add the bot to the group, send a message mentioning it, and check getUpdates.
• For a channel: add the bot as an admin, post a message, and check getUpdates — channel IDs start with -100.

4

Enter both the Bot Token and Chat ID in the Pinguzo contact form.

FieldDescription / Format
Bot Token110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
Chat IDNumeric ID — e.g., 123456789 (user) or -100123456789 (group/channel)
🔗
Generic Webhook Personal / Mini / Professional / Business

Pinguzo sends an HTTP POST request with a JSON body to any HTTPS endpoint you control. Use this to integrate with custom systems, PagerDuty, OpsGenie, Microsoft Teams (via Power Automate), or any other tool that accepts webhooks.

FieldDescription
Webhook URLA valid HTTPS URL that accepts POST requests. HTTP (non-TLS) endpoints are not accepted.

Webhook Payload

Pinguzo sends a POST request with Content-Type: application/json and the following body:

{
  "incident_id": 123,
  "entity_type": "server",
  "entity_id": 45,
  "entity_name": "web-prod-01",
  "trigger_type": "high_cpu",
  "message": "CPU usage 91.4% exceeded threshold of 80% for 12 minutes",
  "started_at": 1742309520,
  "resolved_at": null,
  "alert_policy_id": 6
}

When an incident is resolved, Pinguzo sends a second request with resolved_at set to the resolution Unix timestamp.

Response Requirements

Your endpoint must respond with HTTP 200 OK within 10 seconds. If the response is not 200, Pinguzo marks the delivery as failed and retries up to 3 times with a short delay between attempts. After 3 failures, the delivery is abandoned and logged.

Testing your webhook endpoint Use a service like webhook.site or requestbin.com to inspect the exact payload Pinguzo sends while setting up your integration.

Managing Contacts

Edit a Contact

Click the Edit (pencil) icon on a contact row. Update any fields and click Save. Only the default contact's email address cannot be changed.

Delete a Contact

Click the Delete (trash) icon and confirm. You cannot delete a contact that is the only contact assigned to an active alert policy — remove the contact from those policies first, or add another contact to replace it.

Default contact cannot be deleted The default email contact (tied to your account email) is permanent and cannot be removed.

Contact Visibility in the List

Each contact in the Contacts tab shows:

Plan Restrictions

FeatureFreePersonal / Mini / Professional / Business
Default email contact
Additional contactsUnlimited
Email channelAccount email onlyAny email address
Slack channel
Discord channel
Telegram channel
Generic Webhook

Multiple Channels per Contact

A single contact can have multiple channels configured simultaneously. For example, an "On-Call Team" contact could have an email address, a Slack webhook, and a PagerDuty webhook all configured. When an alert fires, all three are notified at the same time.

Next Steps