Pylon Integration
Connect Pylon to automatically investigate new customer support tickets and post findings back as internal notes. When a new ticket is created in Pylon, Autoheal can automatically start an investigation and share results with your support team.
Capabilities
Once connected, the AI agent can:
| Capability | Description |
|---|---|
| Auto-Investigate Tickets | Automatically start investigations when new tickets arrive |
| Post Internal Notes | Write investigation findings back to tickets as internal notes |
| Read Ticket Data | Access ticket details, requester info, and account context |
| Webhook Triggers | Receive real-time notifications when tickets are created |
Prerequisites
- A Pylon account with API access
- An API key for posting internal notes
- Access to Pylon webhook and trigger settings
Setup
- Go to Integrations in Autoheal
- Click Pylon
- Enter a name (e.g., "Production Pylon")
- Go to Settings → Webhooks in Pylon
- Create a new webhook named "Autoheal" using the webhook URL shown in Autoheal
- Copy the Signing Secret generated by Pylon
- Paste the signing secret into the Webhook Signing Secret field in Autoheal
- Go to Settings → Triggers in Pylon
- Create a new trigger
- Set it to run when a new ticket is created
- Remove the if block condition (so it fires for all tickets)
- In the then block, choose Send webhook and select the "Autoheal" webhook
- Paste the payload template (provided in Autoheal) into the content field
- Save the trigger
- Go to Settings → API tokens in Pylon
- Create an API key named "Autoheal"
- Paste the API key into the API Key field in Autoheal
Click Save, then create a test ticket in Pylon to verify the integration works.
Configuration Fields
| Field | Required | Description |
|---|---|---|
| API Key | Yes | Pylon API key for posting internal notes to tickets |
| Webhook Signing Secret | Yes | Secret from Pylon for verifying webhook payloads |
Webhook Payload
When configuring the trigger in Pylon, use this payload template:
{
"issue_id": "{{ issue.id }}",
"issue_number": "{{ issue.number }}",
"title": "{{ issue.title }}",
"body": "{{ issue.body }}",
"status": "{{ issue.status }}",
"state": "{{ issue.state }}",
"priority": "{{ issue.priority }}",
"type": "{{ issue.type }}",
"source": "{{ issue.source }}",
"created_at": "{{ issue.created_at }}",
"link": "{{ issue.link }}",
"requester_email": "{{ issue.requester.email }}",
"requester_name": "{{ issue.requester.name }}",
"account_name": "{{ issue.account.name }}",
"assignee_email": "{{ issue.assignee.email }}",
"assignee_name": "{{ issue.assignee.name }}",
"tags": "{{ issue.tags }}"
}
Fields your Pylon workspace doesn't populate simply arrive empty and are skipped — it's safe to paste the template as-is. Autoheal also reads the ticket back from the Pylon API using your API key, so existing integrations keep working without re-pasting the template: ticket age, priority, assignee and your workspace's custom fields are backfilled even if your trigger still sends an older, shorter template.
One behavior does change for integrations created before ticket priority was ingested. Alert severity is derived from the ticket's Pylon priority (urgent → critical, high → high, medium → medium, low → low); previously, with no priority reaching us, every Pylon alert defaulted to medium. If you have alert-response rules, escalation paths, or Alertmanager routes that match on severity, review them — low-priority tickets that used to match medium no longer will, and urgent ones now arrive as critical.
Custom fields are picked up automatically and become filterable columns on the Alerts page (add them via the column chooser). You can also add one to the template explicitly — any extra key you include is ingested under its own name.
How It Works
- A customer creates a new ticket in Pylon
- The Pylon trigger fires and sends a webhook to Autoheal
- Autoheal automatically starts an investigation using the ticket context
- An internal note is posted to the ticket with a link to the investigation
- The AI agent analyzes relevant logs, metrics, and documentation
- Investigation findings help your support team resolve the issue faster
You can customize which tickets trigger investigations by adding conditions to the Pylon trigger (e.g., only high-priority tickets, or tickets with specific tags).
When an investigation is skipped
Autoheal doesn't always start an investigation for a ticket. When it decides not to, it posts a short internal note to the ticket so your team isn't left wondering whether anything happened. There are three reasons a ticket is skipped:
- A recent investigation already found the root cause for a matching alert — the note links that earlier investigation. Always posted.
- Your workspace reached its investigation limit (daily or weekly) — the note names which limit. Always posted.
- A skip rule you configured matched the alert — off by default. Because you wrote the rule to cut noise, the note stays quiet unless you opt in.
To get a note when one of your own skip rules skips a ticket, go to Settings → Alert Response → Investigate Group, expand the skip rule, and turn on Notify the source ticket. (The toggle appears only when a Pylon, Jira, or ServiceNow integration is connected.)
Example Queries
Once connected, you can ask the AI agent questions like:
Show me the latest Pylon tickets
What tickets were created for the Acme Corp account this week?
Investigate the issue described in Pylon ticket #456
Troubleshooting
Webhook Not Firing
- Verify the webhook URL in Pylon matches the URL shown in Autoheal
- Check that the trigger is enabled and configured correctly
- Ensure the trigger has no conditions that filter out your test ticket
- Verify the payload template is correctly pasted
Internal Notes Not Posting
- Verify the API key is correct and has not been revoked
- Check that the API key has permission to post internal notes
- Ensure the ticket ID is valid and the ticket exists
Signature Verification Failed
- Verify the webhook signing secret matches between Pylon and Autoheal
- Ensure the secret was copied correctly without extra whitespace
- Re-generate the signing secret in Pylon if needed