Overview
The Custom integration allows you to connect any monitoring tool, script, or application that can send HTTP POST requests. EasyContact automatically extracts common fields and captures additional data as tags.Use Custom integration when your monitoring tool isn’t in our supported list, or when you want to send alerts from custom applications.
Setup Instructions
1
Create Integration in EasyContact
- Go to Configuration → Integrations
- Click Add Integration
- Select Custom as the type
- Enter a name (e.g., “Internal Monitoring”)
- Save and copy the webhook URL
2
Configure Your Source
Set up your monitoring tool or script to POST JSON to the webhook URL
3
Send a Test Event
Send a test payload and verify it appears in EasyContact
4
Configure Mappings
Adjust severity mapping and enrichment based on your payload structure
Webhook URL
Your webhook URL:Request Format
| Setting | Value |
|---|---|
| Method | POST |
| Content-Type | application/json |
| Authentication | None (token in URL) |
Recommended Payload Format
Send events in this structure for best results:Field Recognition
EasyContact automatically recognizes these common field names:Title Fields
titlenamesubjectsummaryalert_namemessage_title
Description Fields
descriptionmessagebodytextdetails
Severity Fields
severityprioritylevelcriticality
Status Fields
statusstatealert_statuscurrent_state
Host Fields
hosthostnameservernodeinstancemachine
IP Address Fields
hostIphost_ipipip_addresssource_ip
Service Fields
serviceapplicationappcomponent
Environment Fields
environmentenv
Other Fields
region,datacenter,dc,locationteam,ownercustomer,client,tenant
Severity Values
These values are automatically mapped:| Input Value | EasyContact Severity |
|---|---|
| critical, disaster, fatal, emergency, P1 | Critical |
| error, high, major, P2 | High |
| warning, warn, medium, minor, average, P3 | Warning |
| info, information, low, notice, P4, P5 | Info |
| ok, resolved, recovery, clear, success | OK |
Status Values
| Input Value | EasyContact Status |
|---|---|
| problem, alert, alerting, triggered, firing, open, active | Problem |
| ok, resolved, recovery, clear, closed, inactive | OK |
Tags Handling
All unrecognized fields are captured as tags:custom_field_1: value1custom_field_2: value2
Nested Tags
You can also send structured tags:Example Payloads
Minimal Payload
Full Payload
Recovery Payload
Custom Severity Mapping
If your tool uses custom severity values:Enrichment Examples
Add context to all custom alerts:cURL Examples
Sending an Alert
Sending a Recovery
Integration Examples
From a Shell Script
From Python
From Node.js
Troubleshooting
Webhook returns error
Webhook returns error
- Verify Content-Type is
application/json - Ensure payload is valid JSON
- Check webhook URL is correct
- Look at response body for error details
Fields not being extracted
Fields not being extracted
- Use recognized field names from the list above
- Check field name spelling and casing
- View webhook samples to see parsed result
Wrong severity assigned
Wrong severity assigned
- Check severity value spelling
- Configure custom severity mapping
- Set appropriate default severity
Recovery not resolving incident
Recovery not resolving incident
- Include same
eventIdin recovery - Set
statusto “resolved” or “ok” - Verify both payloads reach EasyContact
Best Practices
Use Consistent Event IDs
Use Consistent Event IDs
Include a unique
eventId that stays consistent between alert and recovery. This enables automatic incident resolution.Include Relevant Context
Include Relevant Context
Add host, service, and environment fields to help responders quickly understand the alert.
Use Tags for Routing
Use Tags for Routing
Test Thoroughly
Test Thoroughly
Send test alerts and recoveries before relying on the integration in production.
Include URLs
Include URLs
Add links to your monitoring tool or relevant dashboards in the
url field.