Overview
Pylon is a B2B customer support platform that helps teams manage support tickets across multiple channels including Slack, Email, Microsoft Teams, and more. Through Langdock’s integration, you can access and manage Pylon directly from your conversations.Authentication: API Key
Category: CRM & Customer Support
Availability: All workspace plans
Category: CRM & Customer Support
Availability: All workspace plans
Available Actions
Get Issue
pylon.getIssue
Retrieve details of a specific issue by ID or ticket number
Requires Confirmation: No
Parameters:
issueIdOrTicketNumber
(TEXT, Required): The unique identifier or ticket number of the issue
Search Issues
pylon.searchIssues
Search for issues with advanced filtering capabilities
Requires Confirmation: No
Parameters:
filterField
(SELECT, Optional): The field to filter by (created_at, account_id, ticket_form_id, requester_id, follower_user_id, follower_contact_id, state, tags, title, body_html, or custom field slug)filterOperator
(SELECT, Optional): The operator to use for filtering (equals, in, not_in, contains, does_not_contain, string_contains, string_does_not_contain, time_is_after, time_is_before, time_range)filterValue
(TEXT, Optional): The value to filter by (for single value operators like equals, string_contains, time_is_after, time_is_before)filterValues
(TEXT, Optional): JSON array of values for operators: in, not_in, contains, does_not_containstartTime
(TEXT, Optional): Start time for time_range operator (RFC3339 format)endTime
(TEXT, Optional): End time for time_range operator (RFC3339 format)cursor
(TEXT, Optional): Cursor for paginationlimit
(NUMBER, Optional): Number of issues to fetch (1-1000, default 100)
Create Issue
pylon.createIssue
Create a new issue
Requires Confirmation: Yes
Parameters:
title
(TEXT, Required): The title of the issuebodyHtml
(MULTI_LINE_TEXT, Optional): The HTML content of the issue. Use HTML tags(e.g., <p>, <strong>, <ul>)
. Markdown syntax will NOT be renderedaccountId
(TEXT, Optional): The ID of the account associated with this issueassigneeId
(TEXT, Optional): The ID of the user to assign this issue toteamId
(TEXT, Optional): The ID of the team to assign this issue topriority
(SELECT, Optional): The priority of the issue (low, medium, high, urgent)requesterEmail
(TEXT, Optional): Email of the person requesting this issuerequesterId
(TEXT, Optional): ID of the requesterrequesterName
(TEXT, Optional): Name of the requesterrequesterAvatarUrl
(TEXT, Optional): URL to the requester’s avatar imagetags
(TEXT, Optional): Tags for the issue (JSON array)customFields
(TEXT, Optional): Custom fields (JSON array)attachmentUrls
(TEXT, Optional): URLs to attachments (JSON array)destination
(TEXT, Optional): Destination for the issue (e.g., email, slack)destinationEmail
(TEXT, Optional): Email address for the destinationemailCcs
(TEXT, Optional): CC email addresses (JSON array)emailBccs
(TEXT, Optional): BCC email addresses (JSON array)createdAt
(TEXT, Optional): Timestamp when issue was created (RFC3339 format)userId
(TEXT, Optional): ID of the user creating the issuecontactId
(TEXT, Optional): ID of the contact associated with the issue
List Issues
pylon.listIssues
Get a list of issues
Requires Confirmation: No
Parameters:
startTime
(TEXT, Optional): Start time for filtering issues (RFC3339 format)endTime
(TEXT, Optional): End time for filtering issues (RFC3339 format)
Delete Issue
pylon.deleteIssue
Delete an existing issue
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The ID of the issue to delete
Update Issue
pylon.updateIssue
Update an existing issue
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The ID of the issue to updateassigneeId
(TEXT, Optional): The ID of the user to assign (empty string removes assignee)teamId
(TEXT, Optional): The ID of the team to assign (empty string removes team)state
(SELECT, Optional): The state of the issue (new, in_progress, waiting, closed)requesterId
(TEXT, Optional): ID of the requester to updatecustomerPortalVisible
(SELECT, Optional): Whether the issue is visible in the customer portal (true, false)tags
(TEXT, Optional): Updated tags for the issue (JSON array)customFields
(TEXT, Optional): Updated custom fields (JSON array)
Add Draft Reply to Issue
pylon.addDraftReplytoIssue
Add a draft reply to an existing issue
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The unique identifier of the issuedraftResponse
(MULTI_LINE_TEXT, Required): The draft reply content to add to the issue
Add Note to Issue
pylon.addNotetoIssue
Add an internal note to an issue. IMPORTANT: Use HTML formatting, NOT Markdown. Markdown will be stripped and appear as plain text
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The unique identifier of the issuecontent
(MULTI_LINE_TEXT, Required): The HTML content of the note. Use HTML tags like<p>, <strong>, <ul><li>, <h3>
. DO NOT use Markdown syntax like bold or - lists as it will be stripped
Snooze Issue
pylon.snoozeIssue
Snooze an issue until a specific time
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The ID or number of the issue to snoozesnoozeUntil
(TEXT, Required): Timestamp to snooze the issue until (RFC3339 format)
Get Issue Followers
pylon.getIssueFollowers
Get a list of followers for an issue
Requires Confirmation: No
Parameters:
issueId
(TEXT, Required): The ID or number of the issue
Get Issue Messages
pylon.getIssueMessages
Retrieve all messages for a specific issue
Requires Confirmation: No
Parameters:
issueId
(TEXT, Required): The unique identifier of the issue
Manage Issue Followers
pylon.manageIssueFollowers
Add or remove followers from an issue
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The ID or number of the issueoperation
(SELECT, Optional): Whether to add or remove followers (add, remove)userIds
(TEXT, Optional): User IDs to add/remove as followers (JSON array)contactIds
(TEXT, Optional): Contact IDs to add/remove as followers (JSON array)
Manage External Issues
pylon.manageExternalIssues
Link or unlink external issues
Requires Confirmation: Yes
Parameters:
issueId
(TEXT, Required): The ID of the Pylon issueoperation
(SELECT, Required): Whether to link or unlink external issues (link, unlink)source
(TEXT, Required): The source system (e.g., linear, jira)externalId
(TEXT, Required): The ID of the external issuelink
(TEXT, Optional): URL link to the external issue
Redact Message
pylon.redactMessage
Redact a message in an issue
Requires Confirmation: Yes
Parameters:
messageId
(TEXT, Required): The ID of the message to redact
List Accounts
pylon.listAccounts
Get a paginated list of accounts
Requires Confirmation: No
Parameters:
cursor
(TEXT, Optional): The cursor to use for paginationlimit
(NUMBER, Optional): Number of accounts to fetch (1-1000, default: 100)
Create Account
pylon.createAccount
Create a new account
Requires Confirmation: Yes
Parameters:
name
(TEXT, Required): The name of the accountdomains
(TEXT, Optional): List of domains (comma-separated, e.g., acme.com, acme.org)primaryDomain
(TEXT, Optional): Primary domain (must be in domains list)logoUrl
(TEXT, Optional): URL to account logo (square PNG, JPG, or JPEG)tags
(TEXT, Optional): Tags for the account (JSON array, e.g., [‘enterprise’, ‘priority’])externalIds
(TEXT, Optional): External IDs (JSON array of objects, e.g., [external_id’: ‘123’, ‘label’: ‘CRM ID])customFields
(TEXT, Optional): Custom fields (JSON array, e.g., [slug’: ‘industry’, ‘value’: ‘Technology])channels
(TEXT, Optional): Channels to link (JSON array, e.g., [channel_id’: ‘ch123’, ‘source’: ‘slack’, ‘is_primary’: true}])
Get Account
pylon.getAccount
Get an account by its ID or external ID
Requires Confirmation: No
Parameters:
accountId
(TEXT, Required): The ID or external ID of the account
Update Account
pylon.updateAccount
Update an existing account
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID or external ID of the account to updatename
(TEXT, Optional): New name for the accountdomains
(TEXT, Optional): Updated list of domains (comma-separated)primaryDomain
(TEXT, Optional): Primary domain (must be in domains list)ownerId
(TEXT, Optional): ID of the new ownertags
(TEXT, Optional): Updated tags (JSON array)externalIds
(TEXT, Optional): Updated external IDs (JSON array)customFields
(TEXT, Optional): Updated custom fields (JSON array)channels
(TEXT, Optional): Updated channels (JSON array)keepExistingPrimaryDomain
(SELECT, Optional): If updating domains but not primary, set to true (true, false)
Delete Account
pylon.deleteAccount
Delete an existing account
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID or external ID of the account to delete
Search Accounts
pylon.searchAccounts
Search for accounts using field-specific operators. IMPORTANT: Each field has specific allowed operators - domains/tags: contains, does_not_contain, in, not_in | name/external_ids: equals, in, not_in. Use filterValue for single values (equals, contains, does_not_contain), filterValues for arrays (in, not_in)
Requires Confirmation: No
Parameters:
filterField
(SELECT, Optional): Field to filter by. Each field supports different operators - check operator compatibility (domains, tags, name, external_ids)filterOperator
(SELECT, Optional): Operator for filtering. MUST be compatible with selected field (see field descriptions) (equals, in, not_in, contains, does_not_contain)filterValue
(TEXT, Optional): Use for SINGLE value operators: equals, contains, does_not_contain. Leave empty when using filterValuesfilterValues
(TEXT, Optional): Use ONLY for ARRAY operators: in, not_in. Must be JSON array format. Leave empty when using filterValuecursor
(TEXT, Optional): The cursor for paginationlimit
(NUMBER, Optional): Number of results (1-1000)
Create Account Activity
pylon.createAccountActivity
Create a new activity for an account
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID of the account to create the activity forslug
(TEXT, Required): The slug of the activity type. Get valid slugs from ‘Get Activity Types’ actionbodyHtml
(MULTI_LINE_TEXT, Optional): Optional HTML content to display in the activitycontactId
(TEXT, Optional): Optional contact ID of the actoruserId
(TEXT, Optional): Optional user ID of the actorhappenedAt
(TEXT, Optional): Timestamp (RFC3339) when activity happened (defaults to now)link
(TEXT, Optional): Optional link to add to the activitylinkText
(TEXT, Optional): Link text to display (defaults to ‘Open link’)
Get Activity Types
pylon.getActivityTypes
Get custom activity types configured in your Pylon instance
Requires Confirmation: No
Parameters: None
Output: Returns a list of activity types
Create Account Highlight
pylon.createAccountHighlight
Create a new highlight for an account
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID of the account to create the highlight forcontentHtml
(MULTI_LINE_TEXT, Required): The HTML content for this highlightexpiresAt
(TEXT, Optional): Optional RFC3339 timestamp when highlight expires
Update Account Highlight
pylon.updateAccountHighlight
Update an existing account highlight
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID of the account that the highlight belongs tohighlightId
(TEXT, Required): The ID of the highlight to updatecontentHtml
(MULTI_LINE_TEXT, Optional): The updated HTML content for this highlightexpiresAt
(TEXT, Optional): Updated expiration timestamp (RFC3339)
Delete Account Highlight
pylon.deleteAccountHighlight
Delete an existing account highlight
Requires Confirmation: Yes
Parameters:
accountId
(TEXT, Required): The ID of the account that the highlight belongs tohighlightId
(TEXT, Required): The ID of the highlight to delete
List Custom Fields
pylon.listCustomFields
Get all custom fields configured in Pylon. REQUIRED: objectType must be one of: account, issue, or contact
Requires Confirmation: No
Parameters:
objectType
(SELECT, Required): Select the object type (account, issue, or contact)
Get Custom Field
pylon.getCustomField
Get a custom field by its ID
Requires Confirmation: No
Parameters:
customFieldId
(TEXT, Required): The ID of the custom field
Create Custom Field
pylon.createCustomField
Create a new custom field
Requires Confirmation: Yes
Parameters:
slug
(TEXT, Required): Unique identifier for the custom fieldlabel
(TEXT, Required): Display label for the custom fieldtype
(SELECT, Required): The type of the custom field (text, number, decimal, boolean, date, datetime, user, url, select, multiselect)objectType
(SELECT, Required): The object type this field applies to (account, issue, contact)description
(TEXT, Optional): Description of the custom fielddefaultValue
(TEXT, Optional): Default value for single-valued fieldsdefaultValues
(TEXT, Optional): Default values for multi-valued fields (JSON array)selectOptions
(TEXT, Optional): Options for select/multiselect fields (JSON array)
Update Custom Field
pylon.updateCustomField
Update an existing custom field
Requires Confirmation: Yes
Parameters:
customFieldId
(TEXT, Required): The ID of the custom field to updateslug
(TEXT, Optional): Updated slug for the custom fieldlabel
(TEXT, Optional): Updated label for the custom fielddescription
(TEXT, Optional): Updated descriptiondefaultValue
(TEXT, Optional): Updated default value for single-valued fieldsdefaultValues
(TEXT, Optional): Updated default values for multi-valued fields (JSON array)selectOptions
(TEXT, Optional): Updated options for select/multiselect fields (JSON array)
List Users
pylon.listUsers
Get a list of all users
Requires Confirmation: No
Parameters:
cursor
(TEXT, Optional): Pagination cursor from previous requestlimit
(NUMBER, Optional): Number of users to fetch (max 1000)
Get User
pylon.getUser
Get a user by ID
Requires Confirmation: No
Parameters:
userId
(TEXT, Required): The ID of the user to fetch
Update User
pylon.updateUser
Update a user’s role or status
Requires Confirmation: Yes
Parameters:
userId
(TEXT, Required): The ID of the user to updateroleId
(TEXT, Optional): The new role ID for the userstatus
(SELECT, Optional): User status (active, away, or out_of_office)
Search Users
pylon.searchUsers
Search for users by email
Requires Confirmation: No
Parameters:
filterField
(SELECT, Optional): Field to filter by (currently only ‘email’ is supported)filterOperator
(SELECT, Optional): Operator for the filter (equals, in, not_in)filterValue
(TEXT, Optional): Value for equals operatorfilterValues
(TEXT, Optional): JSON array of values for in/not_in operatorscursor
(TEXT, Optional): Pagination cursor from previous requestlimit
(NUMBER, Optional): Number of users to fetch (max 1000)
List Knowledge Bases
pylon.listKnowledgeBases
Get a list of all knowledge bases
Requires Confirmation: No
Parameters: None
Output: Returns a list of knowledge bases
Get Knowledge Base
pylon.getKnowledgeBase
Get details of a specific knowledge base
Requires Confirmation: No
Parameters:
knowledgeBaseId
(TEXT, Required): The ID of the knowledge base
Create KB Article
pylon.createKBArticle
Create a new knowledge base article. IMPORTANT: The contentHtml field is mapped to body_html in the API
Requires Confirmation: Yes
Parameters:
knowledgeBaseId
(TEXT, Required): The ID of the knowledge base. Get valid IDs from the ‘List Knowledge Bases’ actiontitle
(TEXT, Required): The title of the articlecontentHtml
(MULTI_LINE_TEXT, Required): The HTML content of the article (maps to body_html in API). Use proper HTML tags. Markdown will NOT be renderedcollectionId
(TEXT, Optional): The ID of the collection to add the article toslug
(TEXT, Optional): URL slug for the articleauthorUserId
(TEXT, Optional): The ID of the user to set as the article author. Get valid user IDs from the ‘List Users’ actionpublishedAt
(TEXT, Optional): Publication timestamp (RFC3339)isPublished
(SELECT, Optional): Whether the article should be published immediately (true, false)isUnlisted
(SELECT, Optional): Whether the article should be unlisted (accessible only via direct link) (true, false)
Update KB Article
pylon.updateKBArticle
Update an existing knowledge base article. IMPORTANT: The contentHtml field is mapped to body_html in the API
Requires Confirmation: Yes
Parameters:
articleId
(TEXT, Required): The ID of the article to updatetitle
(TEXT, Optional): Updated title of the articlecontentHtml
(MULTI_LINE_TEXT, Optional): Updated HTML content (maps to body_html in API). Use proper HTML tags. Markdown will NOT be renderedslug
(TEXT, Optional): Updated URL slugpublishedAt
(TEXT, Optional): Updated publication timestamp (RFC3339)
List KB Collections
pylon.listKBCollections
Get a list of knowledge base collections
Requires Confirmation: No
Parameters:
knowledgeBaseId
(TEXT, Required): The ID of the knowledge base
Create KB Collection
pylon.createKBCollection
Create a new knowledge base collection
Requires Confirmation: Yes
Parameters:
knowledgeBaseId
(TEXT, Required): The ID of the knowledge basetitle
(TEXT, Required): The title of the collectiondescription
(TEXT, Optional): Description of the collectionslug
(TEXT, Optional): URL slug for the collection
Create KB Route Redirect
pylon.createKBRouteRedirect
Create a route redirect in the knowledge base
Requires Confirmation: Yes
Parameters:
knowledgeBaseId
(TEXT, Required): The ID of the knowledge basefromPath
(TEXT, Required): The path to redirect fromtoPath
(TEXT, Required): The path to redirect to
List Teams
pylon.listTeams
Get a list of all teams
Requires Confirmation: No
Parameters: None
Output: Returns a list of teams
Get Team
pylon.getTeam
Get details of a specific team
Requires Confirmation: No
Parameters:
teamId
(TEXT, Required): The ID of the team
Create Team
pylon.createTeam
Create a new team
Requires Confirmation: Yes
Parameters:
name
(TEXT, Required): The name of the teamdescription
(TEXT, Optional): Description of the teamslackChannelId
(TEXT, Optional): Associated Slack channel ID
Update Team
pylon.updateTeam
Update an existing team
Requires Confirmation: Yes
Parameters:
teamId
(TEXT, Required): The ID of the team to updatename
(TEXT, Optional): Updated name of the teamdescription
(TEXT, Optional): Updated descriptionslackChannelId
(TEXT, Optional): Updated Slack channel ID
Common Use Cases
Data Management
Manage and organize your Pylon data
Automation
Automate workflows with Pylon
Reporting
Generate insights and reports
Integration
Connect Pylon with other tools
Best Practices
Getting Started:
- Enable the Pylon integration in your workspace settings
- Authenticate using API Key
- Test the connection with a simple read operation
- Explore available actions for your use case
Important Considerations:
- Ensure proper authentication credentials
- Respect rate limits and API quotas
- Review data privacy settings
- Test operations in a safe environment first
Troubleshooting
Issue | Solution |
---|---|
Authentication failed | Verify your API Key credentials |
Rate limit exceeded | Reduce request frequency |
Data not found | Check permissions and data availability |
Connection timeout | Verify network connectivity |