Pylon
Pylon is a customer support platform built for B2B companies. It unifies conversations from Slack, email, Microsoft Teams, chat widgets, Discord, WhatsApp, SMS, and more into a single shared inbox. Pylon helps support teams manage issues, track accounts, organize knowledge bases, and collaborate through internal notes and threads.
Authentication Types
Pylon supports 1 authentication method:
- API Key - Use a token generated in the Pylon dashboard for all API requests
- Pros: Quick setup, simple configuration, no OAuth app creation needed
- Cons: Single token for all users, no per-user tracking, actions appear as the token name
Setting up API Key
-
Navigate to https://app.usepylon.com/settings/api-tokens
-
Click Create Token
-
Enter a name for the token (e.g., "Webrix Integration")
-
Copy the generated API token immediately
warningKeep your API token secure! Never share it publicly or commit it to version control. Anyone with this token has full access to your Pylon workspace.
-
In Webrix, go to Integrations → New → Built-in
-
Select Pylon and click Use
-
Select API Key as the authentication method
-
Paste your API token into the token field
-
Click Save to complete the setup
Verify the Connection
After saving, you can test the connection by using the Get Me tool. It should return your organization details, confirming the token is valid.
Common Use Cases
Issue Management
- Search and filter issues by state, assignee, team, or tags
- Create new issues from external triggers with automatic routing
- Update issue state, priority, and assignment
- Snooze issues to resurface them at the right time
- Reply to customers or add internal notes for team collaboration
Account Management
- List and search accounts by name, domain, or custom fields
- Create accounts for new customers
- Update account ownership and tags
- Track customer activity across accounts
Knowledge Base
- List knowledge bases and browse articles
- Use article content for AI-assisted customer responses
Team Coordination
- List teams and users for issue routing
- Search contacts to find customer information
- Tag issues and accounts for organized workflows
Troubleshooting
Invalid or Expired Token
Error: 401 Unauthorized or "invalid_token" errors.
Cause: The API token is incorrect, expired, or was revoked.
Solution:
- Go to https://app.usepylon.com/settings/api-tokens
- Check if the token still exists and is active
- If needed, create a new token
- Update the token in Webrix and try again
Rate Limiting
Error: 429 Too Many Requests.
Cause: Exceeded Pylon's API rate limits. Different endpoints have different limits (e.g., 10-60 requests per minute).
Solution:
- Reduce the frequency of API requests
- Use pagination cursors to fetch data in smaller batches
- Spread operations over time rather than making many simultaneous requests
- Key rate limits:
- GET /issues: 10 requests/minute
- POST /issues: 10 requests/minute
- GET /issues/{id}: 60 requests/minute
- POST /issues/search: 20 requests/minute
- GET /accounts: 20 requests/minute
Time Range Errors on List Issues
Error: 400 Bad Request when listing issues.
Cause: The start_time and end_time parameters are missing or the duration exceeds 30 days.
Solution:
- Both
start_timeandend_timeare required in RFC3339 format (e.g.,2025-01-01T00:00:00Z) - The duration between them must be 30 days or less
- For longer periods, make multiple requests with consecutive 30-day windows
- Use the Search Issues tool instead if you need to find issues without a time constraint
Resource Not Found
Error: 404 Not Found when accessing an issue, account, or contact.
Cause: The resource ID is incorrect, the resource was deleted, or you don't have access.
Solution:
- Verify the ID is correct
- Check if the resource was deleted or merged
- Ensure the API token has access to the resource's team/workspace
Search Filter Errors
Error: 400 Bad Request when using search endpoints.
Cause: Invalid filter format or unsupported operators.
Solution:
Search filters require a specific structure:
{
"field": "state",
"operator": "equals",
"value": "waiting_on_you"
}
For compound filters:
{
"operator": "and",
"subfilters": [
{ "field": "state", "operator": "equals", "value": "waiting_on_you" },
{ "field": "team_id", "operator": "equals", "value": "team_123" }
]
}
Valid operators: equals, not_equals, contains, does_not_contain, in, not_in, and, or, time_is_after, time_is_before, time_range, string_contains, string_does_not_contain, is_set, is_unset