---
title: Pylon
description: Manage customer support issues, accounts, contacts, users, teams, and tags in Pylon
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="pylon"
  color="#E8F4FA"
/>

{/* MANUAL-CONTENT-START:intro */}
[Pylon](https://usepylon.com/) is an advanced customer support and success platform designed to help you manage every aspect of your customer relationships—from support issues to accounts, contacts, users, teams, and beyond. Pylon empowers support and success teams to operate efficiently and programmatically with a rich API and comprehensive toolset.

With Pylon in Sim, you can:

- **Manage Support Issues:**
  - List, create, get, update, and delete support issues for efficient case tracking.
  - Search and snooze issues to help agents stay focused and organized.
  - Handle issue followers and external issues for seamless collaboration with internal and external stakeholders.

- **Full Account Management:**
  - List, create, get, update, and delete customer accounts.
  - Bulk update accounts programmatically.
  - Search accounts to quickly find customer information relevant for support or outreach.

- **Contact Management:**
  - List, create, get, update, delete, and search contacts—manage everyone connected to your accounts.

- **User and Team Operations:**
  - List, get, update, and search users in your Pylon workspace.
  - List, create, get, and update teams to structure your support organization and workflows.

- **Tagging and Organization:**
  - List, get, create, update, and delete tags for categorizing issues, accounts, or contacts.

- **Message Handling:**
  - Redact sensitive message content directly from your workflows for privacy and compliance.

By integrating Pylon tools into Sim, your agents can automate every aspect of support operations:
- Automatically open, update, or triage new issues when customer events occur.
- Maintain synchronized account and contact data across your tech stack.
- Route conversations, handle escalations, and organize your support data using tags and teams.
- Ensure sensitive data is properly managed by redacting messages as needed.

Pylon's endpoints provide granular control for full-lifecycle management of customer issues and relationships. Whether scaling a support desk, powering proactive customer success, or integrating with other systems, Pylon in Sim enables best-in-class CRM automation—securely, flexibly, and at scale.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate Pylon into the workflow. Manage issues (list, create, get, update, delete, search, snooze, followers, external issues), accounts (list, create, get, update, delete, bulk update, search), contacts (list, create, get, update, delete, search), users (list, get, update, search), teams (list, get, create, update), tags (list, get, create, update, delete), and messages (redact).



## Tools

### `pylon_list_issues`

Retrieve a list of issues within a specified time range

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `startTime` | string | Yes | Start time in RFC3339 format \(e.g., 2024-01-01T00:00:00Z\) |
| `endTime` | string | Yes | End time in RFC3339 format \(e.g., 2024-01-31T23:59:59Z\) |
| `cursor` | string | No | Pagination cursor for next page of results |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of issues |

### `pylon_create_issue`

Create a new issue with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `title` | string | Yes | Issue title |
| `bodyHtml` | string | Yes | Issue body in HTML format |
| `accountId` | string | No | Account ID to associate with issue |
| `assigneeId` | string | No | User ID to assign issue to |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created issue data |

### `pylon_get_issue`

Fetch a specific issue by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Issue data |

### `pylon_update_issue`

Update an existing issue

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue to update |
| `state` | string | No | Issue state |
| `assigneeId` | string | No | User ID to assign issue to |
| `teamId` | string | No | Team ID to assign issue to |
| `tags` | string | No | Comma-separated tag IDs |
| `customFields` | string | No | Custom fields as JSON object |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated issue data |

### `pylon_delete_issue`

Remove an issue by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Deletion result |

### `pylon_search_issues`

Query issues using filters

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `filter` | string | Yes | Filter criteria as JSON string |
| `cursor` | string | No | Pagination cursor for next page of results |
| `limit` | number | No | Maximum number of results to return |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |

### `pylon_snooze_issue`

Postpone issue visibility until specified time

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue to snooze |
| `snoozeUntil` | string | Yes | RFC3339 timestamp when issue should reappear \(e.g., 2024-01-01T00:00:00Z\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Snoozed issue data |

### `pylon_list_issue_followers`

Get list of followers for a specific issue

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Followers list |

### `pylon_manage_issue_followers`

Add or remove followers from an issue

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the issue |
| `userIds` | string | No | Comma-separated user IDs to add/remove |
| `contactIds` | string | No | Comma-separated contact IDs to add/remove |
| `operation` | string | No | Operation to perform: "add" or "remove" \(default: "add"\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated followers list |

### `pylon_link_external_issue`

Link an issue to an external system issue

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | The ID of the Pylon issue |
| `externalIssueId` | string | Yes | The ID of the external issue |
| `source` | string | Yes | The source system \(e.g., "jira", "linear", "github"\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Linked external issue data |

### `pylon_list_accounts`

Retrieve a paginated list of accounts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `limit` | string | No | Number of accounts to return \(1-1000, default 100\) |
| `cursor` | string | No | Pagination cursor for next page of results |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of accounts |

### `pylon_create_account`

Create a new account with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `name` | string | Yes | Account name |
| `domains` | string | No | Comma-separated list of domains |
| `primaryDomain` | string | No | Primary domain for the account |
| `customFields` | string | No | Custom fields as JSON object |
| `tags` | string | No | Comma-separated tag IDs |
| `channels` | string | No | Comma-separated channel IDs |
| `externalIds` | string | No | Comma-separated external IDs |
| `ownerId` | string | No | Owner user ID |
| `logoUrl` | string | No | URL to account logo |
| `subaccountIds` | string | No | Comma-separated subaccount IDs |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created account data |

### `pylon_get_account`

Retrieve a single account by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `accountId` | string | Yes | Account ID to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Account data |

### `pylon_update_account`

Update an existing account with new properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `accountId` | string | Yes | Account ID to update |
| `name` | string | No | Account name |
| `domains` | string | No | Comma-separated list of domains |
| `primaryDomain` | string | No | Primary domain for the account |
| `customFields` | string | No | Custom fields as JSON object |
| `tags` | string | No | Comma-separated tag IDs |
| `channels` | string | No | Comma-separated channel IDs |
| `externalIds` | string | No | Comma-separated external IDs |
| `ownerId` | string | No | Owner user ID |
| `logoUrl` | string | No | URL to account logo |
| `subaccountIds` | string | No | Comma-separated subaccount IDs |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated account data |

### `pylon_delete_account`

Remove an account by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `accountId` | string | Yes | Account ID to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Deletion confirmation |

### `pylon_bulk_update_accounts`

Update multiple accounts at once

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `accountIds` | string | Yes | Comma-separated account IDs to update |
| `customFields` | string | No | Custom fields as JSON object |
| `tags` | string | No | Comma-separated tag IDs |
| `ownerId` | string | No | Owner user ID |
| `tagsApplyMode` | string | No | Tag application mode: append_only, remove_only, or replace |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk updated accounts data |

### `pylon_search_accounts`

Search accounts with custom filters

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `filter` | string | Yes | Filter as JSON string with field/operator/value structure |
| `limit` | string | No | Number of accounts to return \(1-1000, default 100\) |
| `cursor` | string | No | Pagination cursor for next page of results |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |

### `pylon_list_contacts`

Retrieve a list of contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `cursor` | string | No | Pagination cursor for next page of results |
| `limit` | string | No | Maximum number of contacts to return |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of contacts |

### `pylon_create_contact`

Create a new contact with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `name` | string | Yes | Contact name |
| `email` | string | No | Contact email address |
| `accountId` | string | No | Account ID to associate with contact |
| `accountExternalId` | string | No | External account ID to associate with contact |
| `avatarUrl` | string | No | URL for contact avatar image |
| `customFields` | string | No | Custom fields as JSON object |
| `portalRole` | string | No | Portal role for the contact |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created contact data |

### `pylon_get_contact`

Retrieve a specific contact by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `contactId` | string | Yes | Contact ID to retrieve |
| `cursor` | string | No | Pagination cursor for next page of results |
| `limit` | string | No | Maximum number of items to return |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Contact data |

### `pylon_update_contact`

Update an existing contact with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `contactId` | string | Yes | Contact ID to update |
| `name` | string | No | Contact name |
| `email` | string | No | Contact email address |
| `accountId` | string | No | Account ID to associate with contact |
| `accountExternalId` | string | No | External account ID to associate with contact |
| `avatarUrl` | string | No | URL for contact avatar image |
| `customFields` | string | No | Custom fields as JSON object |
| `portalRole` | string | No | Portal role for the contact |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated contact data |

### `pylon_delete_contact`

Delete a specific contact by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `contactId` | string | Yes | Contact ID to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Delete operation result |

### `pylon_search_contacts`

Search for contacts using a filter

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `filter` | string | Yes | Filter as JSON object |
| `limit` | string | No | Maximum number of contacts to return |
| `cursor` | string | No | Pagination cursor for next page of results |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |

### `pylon_list_users`

Retrieve a list of users

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of users |

### `pylon_get_user`

Retrieve a specific user by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `userId` | string | Yes | User ID to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | User data |

### `pylon_update_user`

Update an existing user with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `userId` | string | Yes | User ID to update |
| `roleId` | string | No | Role ID to assign to user |
| `status` | string | No | User status |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated user data |

### `pylon_search_users`

Search for users using a filter with email field

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `filter` | string | Yes | Filter as JSON object with email field |
| `cursor` | string | No | Pagination cursor for next page of results |
| `limit` | string | No | Maximum number of users to return |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |

### `pylon_list_teams`

Retrieve a list of teams

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of teams |

### `pylon_get_team`

Retrieve a specific team by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `teamId` | string | Yes | Team ID to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Team data |

### `pylon_create_team`

Create a new team with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `name` | string | No | Team name |
| `userIds` | string | No | Comma-separated user IDs to add as team members |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created team data |

### `pylon_update_team`

Update an existing team with specified properties (userIds replaces entire membership)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `teamId` | string | Yes | Team ID to update |
| `name` | string | No | Team name |
| `userIds` | string | No | Comma-separated user IDs \(replaces entire team membership\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated team data |

### `pylon_list_tags`

Retrieve a list of tags

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | List of tags |

### `pylon_get_tag`

Retrieve a specific tag by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `tagId` | string | Yes | Tag ID to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Tag data |

### `pylon_create_tag`

Create a new tag with specified properties (objectType: account/issue/contact)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `objectType` | string | Yes | Object type for tag \(account, issue, or contact\) |
| `value` | string | Yes | Tag value/name |
| `hexColor` | string | No | Hex color code for tag \(e.g., #FF5733\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created tag data |

### `pylon_update_tag`

Update an existing tag with specified properties

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `tagId` | string | Yes | Tag ID to update |
| `hexColor` | string | No | Hex color code for tag \(e.g., #FF5733\) |
| `value` | string | No | Tag value/name |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated tag data |

### `pylon_delete_tag`

Delete a specific tag by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `tagId` | string | Yes | Tag ID to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Delete operation result |

### `pylon_redact_message`

Redact a specific message within an issue

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Yes | Pylon API token |
| `issueId` | string | Yes | Issue ID containing the message |
| `messageId` | string | Yes | Message ID to redact |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Redact operation result |



## Notes

- Category: `tools`
- Type: `pylon`
