Pylon
Description: Enable agents to interact with Pylon issues, contacts, users, and teams
Author: Arcade
Auth: API Token
The Pylon Server lets work with Pylon’s issue management features—list and search issues, assign owners, add messages, browse contacts, , and teams. There is no OAuth for Pylon; you must provide an admin-generated API token.
- Issues: list, search (BM25), fetch details, assign owners, update status, add messages
- Contacts: list and search by name or email
- & Teams: list/search users, list teams, get team details with members
- User : fetch the API token owner profile (service )
Pylon API tokens are admin-scoped and created in Pylon by an org admin. Store
the token as PYLON_API_TOKEN in Arcade secrets. There is no OAuth.
Available tools
| Tool Name | Description |
|---|---|
| Pylon.WhoAmI | Get the API token owner's profile (service account) |
| Pylon.ListIssues | List issues with filters (state, assignee, team, tags, date range) |
| Pylon.GetIssue | Get detailed issue info by ID or keyword search |
| Pylon.SearchIssues | Keyword search across recent issues (BM25) |
| Pylon.AssignIssue | Assign an issue to a user (ID or fuzzy name) |
| Pylon.UpdateIssueStatus | Change issue state |
| Pylon.AddMessage | Add an internal note to an issue |
| Pylon.ListContacts | List contacts with pagination |
| Pylon.SearchContacts | Search contacts by name or email |
| Pylon.ListUsers | List users in the workspace |
| Pylon.SearchUsers | Search users by name (fuzzy) |
| Pylon.ListTeams | List teams |
| Pylon.GetTeamAndAssignment | Get team details and members by ID or name |
If you need a that isn’t listed, contact us or build your own.
readOnlyHint— reads data only -openWorldHint— calls Pylon’s external API -destructiveHint— flags irreversible or hidden changes -idempotentHint— repeating the same call has no extra effect
User context
Pylon.WhoAmI
Get the API token owner (service ) profile.
Returns name, email, and org info for the token owner.
Parameters
This takes no parameters.
readOnlyHint: true-openWorldHint: true
GET /me
Issue tools
Pylon.ListIssues
List issues with optional filters.
Parameters
- state (
enum, optional) Filter by state. - assignee_id (
string, optional) Filter by assignee ID. - team_id (
string, optional) Filter by team ID. - tags (
array, optional) Issues must include all provided tags. - start_time (
string, optional) RFC3339 start time. Default: 7 days ago. - end_time (
string, optional) RFC3339 end time. Default: now. - cursor (
string, optional) Pagination cursor.
GET /issues
Pylon.GetIssue
Get detailed issue info by ID or keyword search (BM25).
Parameters
- lookup_by (
enum, required)idorsearch. - value (
string, required) Issue ID/number or search keywords. - auto_accept_matches (
boolean, optional) Auto-accept search matches above confidence threshold. Default:false.
GET /issues/{id} or GET /issues (search)
Pylon.SearchIssues
Keyword search across recent issues (BM25).
Parameters
- query (
string, required) Keywords (supports AND/OR/NOT). - auto_accept_matches (
boolean, optional) Auto-accept high-confidence matches. Default:false.
GET /issues (fetch recent issues for ranking)
Pylon.AssignIssue
Assign an issue to a (ID or fuzzy name).
Parameters
- issue_lookup_by (
enum, required)idorsearch. - issue_value (
string, required) Issue ID/number or search keywords. - user_lookup_by (
enum, required)idorname. - user_value (
string, required) ID or name (fuzzy match). - auto_accept_matches (
boolean, optional) Auto-accept fuzzy/BM25 matches. Default:false.
GET /issues/{id}, GET /issues, GET /users, PATCH /issues/{id}
Pylon.UpdateIssueStatus
Change the state of an issue.
Parameters
- state (
enum, required) New state. - lookup_by (
enum, required)idorsearch. - value (
string, required) Issue ID/number or keywords. - auto_accept_matches (
boolean, optional) Auto-accept search matches. Default:false.
GET /issues/{id}, GET /issues, PATCH /issues/{id}
Pylon.AddMessage
Add an internal note to an issue.
Parameters
- issue_id (
string, required) Issue ID or number. - body (
string, required) Message content. - as_html (
boolean, optional) Body is pre-formatted HTML. Default:false.
POST /issues/{id}/note
Contact tools
Pylon.ListContacts
List contacts with pagination.
Parameters
- cursor (
string, optional) Pagination cursor.
GET /contacts
Pylon.SearchContacts
Search contacts by name or email.
Parameters
- query (
string, required) Name or email. - auto_accept_matches (
boolean, optional) Auto-accept matches above confidence threshold. Default:false.
POST /contacts/search, GET /contacts
User tools
Pylon.ListUsers
List in the workspace.
Parameters
- cursor (
string, optional) Pagination cursor. - limit (
integer, optional) Items per page. Default: 20.
GET /users
Pylon.SearchUsers
Search by name (fuzzy).
Parameters
- query (
string, required) Name or partial name. - auto_accept_matches (
boolean, optional) Auto-accept matches above confidence threshold. Default:false.
GET /users
Team tools
Pylon.ListTeams
List teams in the workspace.
Parameters
- cursor (
string, optional) Pagination cursor.
GET /teams
Pylon.GetTeamAndAssignment
Get team details (with members) by ID or fuzzy name.
Parameters
- lookup_by (
enum, required)idorname. - value (
string, required) Team ID or name. - auto_accept_matches (
boolean, optional) Auto-accept fuzzy matches. Default:false.
GET /teams, GET /teams/{id}
Auth
Pylon uses Bearer tokens created by an org admin. There is no OAuth flow. Generate an API token in the Pylon dashboard and store it as the secret PYLON_API_TOKEN in Arcade. All require this secret.
Auth header
Authorization: Bearer <token>Pylon tokens are generated by admins in the Pylon UI and grant org-level access. Rotate tokens regularly and scope storage to your Arcade ’s secrets.
Refer to Pylon’s authentication docs: Pylon API Authentication .