[MOAR][Pylon] Pylon Starter Toolkit (#658)

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
This commit is contained in:
jottakka 2025-10-28 15:17:11 -03:00 committed by GitHub
parent 92cc1a1ab9
commit 0247c2561b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
94 changed files with 60491 additions and 0 deletions

View file

@ -0,0 +1,20 @@
files: ^(pylon_api/|tests/|pyproject\.toml|Makefile)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v4.4.0"
hooks:
- id: check-case-conflict
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: end-of-file-fixer
exclude: ^pylon_api/tools/__init__\.py$
- id: trailing-whitespace
exclude: ^pylon_api/tools/__init__\.py$
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.7
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

View file

@ -0,0 +1,50 @@
target-version = "py311"
line-length = 100
fix = true
# Exclude large auto-generated files from all checks
exclude = [
"pylon_api/tools/__init__.py",
"pylon_api/tools/request_body_schemas.py",
]
[lint]
select = [
# flake8-2020
"YTT",
# flake8-bandit
"S",
# flake8-bugbear
"B",
# flake8-builtins
"A",
# flake8-comprehensions
"C4",
# flake8-debugger
"T10",
# flake8-simplify
"SIM",
# isort
"I",
# mccabe
"C90",
# pycodestyle
"E", "W",
# pyflakes
"F",
# pygrep-hooks
"PGH",
# pyupgrade
"UP",
# ruff
"RUF",
# tryceratops
"TRY",
]
[lint.per-file-ignores]
"**/tests/*" = ["S101"]
[format]
preview = true
skip-magic-trailing-comma = false

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025, Arcade AI
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,54 @@
.PHONY: help
help:
@echo "🛠️ github Commands:\n"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
.PHONY: install
install: ## Install the uv environment and install all packages with dependencies
@echo "🚀 Creating virtual environment and installing all packages using uv"
@uv sync --active --all-extras --no-sources
@if [ -f .pre-commit-config.yaml ]; then uv run --no-sources pre-commit install; fi
@echo "✅ All packages and dependencies installed via uv"
.PHONY: install-local
install-local: ## Install the uv environment and install all packages with dependencies with local Arcade sources
@echo "🚀 Creating virtual environment and installing all packages using uv"
@uv sync --active --all-extras
@if [ -f .pre-commit-config.yaml ]; then uv run pre-commit install; fi
@echo "✅ All packages and dependencies installed via uv"
.PHONY: build
build: clean-build ## Build wheel file using poetry
@echo "🚀 Creating wheel file"
uv build
.PHONY: clean-build
clean-build: ## clean build artifacts
@echo "🗑️ Cleaning dist directory"
rm -rf dist
.PHONY: test
test: ## Test the code with pytest
@echo "🚀 Testing code: Running pytest"
@uv run --no-sources pytest -W ignore -v --cov --cov-config=pyproject.toml --cov-report=xml
.PHONY: coverage
coverage: ## Generate coverage report
@echo "coverage report"
@uv run --no-sources coverage report
@echo "Generating coverage report"
@uv run --no-sources coverage html
.PHONY: bump-version
bump-version: ## Bump the version in the pyproject.toml file by a patch version
@echo "🚀 Bumping version in pyproject.toml"
uv version --no-sources --bump patch
.PHONY: check
check: ## Run code quality tools.
@if [ -f .pre-commit-config.yaml ]; then\
echo "🚀 Linting code: Running pre-commit";\
uv run --no-sources pre-commit run -a;\
fi
@echo "🚀 Static type checking: Running mypy"
@uv run --no-sources mypy --config-file=pyproject.toml

View file

@ -0,0 +1,26 @@
<div style="display: flex; justify-content: center; align-items: center;">
<img
src="https://docs.arcade.dev/images/logo/arcade-logo.png"
style="width: 250px;"
>
</div>
<div style="display: flex; justify-content: center; align-items: center; margin-bottom: 8px;">
<img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="Python version" style="margin: 0 2px;">
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License" style="margin: 0 2px;">
<img src="https://img.shields.io/pypi/v/pylon_api" alt="PyPI version" style="margin: 0 2px;">
</div>
<br>
<br>
# Arcade pylon_api Toolkit
Tools that enable LLMs to interact directly with the pylon API.
## Features
- The pylon_api toolkit does not have any features yet.
## Development
Read the docs on how to create a toolkit [here](https://docs.arcade.dev/home/build-tools/create-a-toolkit)

View file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,251 @@
{
"name": "CreateAccountActivity",
"fully_qualified_name": "PylonApi.CreateAccountActivity@0.1.0",
"description": "Creates a new activity for a specified account.\n\nUse this tool to add a new activity to an account by providing the account's internal or external ID. It will confirm the creation of the activity.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_id_for_activity",
"required": true,
"description": "The internal or external ID of the account to create the activity for. Accepts a UUID or any string format.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to create the activity for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "activity_details",
"required": false,
"description": "JSON object containing details about the activity, including optional fields like body_html, contact_id, happened_at, link, link_text, slug, and user_id.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional HTML content to display in the activity."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID of the actor of the activity."
},
"happened_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty."
},
"link": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link to add to the activity."
},
"link_text": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the activity to create."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID of the actor of the activity."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateActivity'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{id}/activities",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "account_id_for_activity",
"description": "The ID or external ID of the account to create the activity for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to create the activity for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "activity_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional HTML content to display in the activity."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID of the actor of the activity."
},
"happened_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty."
},
"link": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link to add to the activity."
},
"link_text": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the activity to create."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID of the actor of the activity."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"body_html\": {\n \"description\": \"Optional HTML content to display in the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"Optional contact ID of the actor of the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"happened_at\": {\n \"description\": \"Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty.\",\n \"type\": \"string\",\n \"x-go-name\": \"HappenedAt\"\n },\n \"link\": {\n \"description\": \"Optional link to add to the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"Link\"\n },\n \"link_text\": {\n \"description\": \"Optional link text to display on the activity. Defaults to \\\"Open link\\\" if not provided. Applies only if a link is provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"LinkText\"\n },\n \"slug\": {\n \"description\": \"The slug of the activity to create.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID of the actor of the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"slug\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,171 @@
{
"name": "CreateAccountHighlight",
"fully_qualified_name": "PylonApi.CreateAccountHighlight@0.1.0",
"description": "Create a highlight for a specified account.\n\nThis tool is used to create a highlight for an account, using either an internal account ID in UUID format or an external ID in string format. It should be called when there is a need to add or update a highlight for an account.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_identifier",
"required": true,
"description": "The ID (UUID) or external ID (string) of the account for the highlight.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
},
{
"name": "highlight_details",
"required": false,
"description": "A JSON object containing 'content_html' for the highlight's HTML content, and 'expires_at' for the expiration timestamp (optional, RFC3339 format).",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"content_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content for this highlight."
},
"expires_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional RFC3339 timestamp of when this highlight will expire."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateAccountHighlight'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{account_id}/highlights",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "account_id",
"tool_parameter_name": "account_identifier",
"description": "The ID or external ID of the account that the highlight belongs to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "highlight_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"content_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content for this highlight."
},
"expires_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional RFC3339 timestamp of when this highlight will expire."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"content_html\": {\n \"description\": \"The HTML content for this highlight.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContentHTML\"\n },\n \"expires_at\": {\n \"description\": \"Optional RFC3339 timestamp of when this highlight will expire.\",\n \"type\": \"string\",\n \"x-go-name\": \"ExpiresAt\"\n }\n },\n \"required\": [\n \"content_html\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,171 @@
{
"name": "CreateAiResponseForIssue",
"fully_qualified_name": "PylonApi.CreateAiResponseForIssue@0.1.0",
"description": "Generate an AI response for a specific issue.\n\nThis tool creates an AI-generated response for a given issue by specifying the issue ID. It should be called when an automated response is required for issue resolution or documentation.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID or number of the issue for which an AI response is required.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to create an AI response for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "ai_response_request_body",
"required": false,
"description": "JSON object containing the AI agent ID and a flag to post the response as an internal note. Includes `ai_agent_id` (string) and `post_as_internal_note` (boolean).",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"ai_agent_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the AI agent to use to create the AI response."
},
"post_as_internal_note": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to post the AI response as an internal note on the issue."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateIssueAIResponse'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/ai-response",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID or number of the issue to create an AI response for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to create an AI response for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "ai_response_request_body",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"ai_agent_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the AI agent to use to create the AI response."
},
"post_as_internal_note": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to post the AI response as an internal note on the issue."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"ai_agent_id\": {\n \"description\": \"The ID of the AI agent to use to create the AI response.\",\n \"type\": \"string\",\n \"x-go-name\": \"AIAgentID\"\n },\n \"post_as_internal_note\": {\n \"description\": \"Whether to post the AI response as an internal note on the issue.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"PostAsInternalNote\"\n }\n },\n \"required\": [\n \"ai_agent_id\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,268 @@
{
"name": "CreateCustomField",
"fully_qualified_name": "PylonApi.CreateCustomField@0.1.0",
"description": "Create a new custom field in the system.\n\nUse this tool to add a custom field to your database or application configuration. It allows for extending the available data fields to include additional, personalized information.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "custom_field_details",
"required": false,
"description": "JSON object containing details such as label, type, object type, default values, and selection options for the custom field.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\""
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateCustomField'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/custom-fields",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "custom_field_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\""
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"default_value\": {\n \"description\": \"The default value for single-valued custom fields.\",\n \"type\": \"string\",\n \"x-go-name\": \"DefaultValue\"\n },\n \"default_values\": {\n \"description\": \"The default values for multi-valued custom fields.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"DefaultValues\"\n },\n \"description\": {\n \"description\": \"The description of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"label\": {\n \"description\": \"The label of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"object_type\": {\n \"description\": \"The object type of the custom field. Can be \\\"account\\\", \\\"issue\\\", or \\\"contact\\\"\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n },\n \"select_options\": {\n \"description\": \"The list options of the select custom field. This is only present for select and multiselect custom fields.\",\n \"items\": {\n \"properties\": {\n \"label\": {\n \"description\": \"The label of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"slug\": {\n \"description\": \"The slug of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"SelectOptions\"\n },\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"type\": {\n \"description\": \"The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Type\"\n }\n },\n \"required\": [\n \"label\",\n \"object_type\",\n \"type\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,219 @@
{
"name": "CreateIssueNote",
"fully_qualified_name": "PylonApi.CreateIssueNote@0.1.0",
"description": "Creates a note on an issue to track additional details.\n\nThis tool should be called when there's a need to add a note or comment to an existing issue to provide further information or updates.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique identifier of the issue to which the note will be added.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "note_details_json",
"required": false,
"description": "The JSON object containing note details like body_html, attachment_urls, message_id, thread_id, and user_id.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided."
},
"thread_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. If not provided, the API token user will be used."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateIssueNote'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/note",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "note_details_json",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided."
},
"thread_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. If not provided, the API token user will be used."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The body of the message in HTML.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"message_id\": {\n \"description\": \"The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"MessageID\"\n },\n \"thread_id\": {\n \"description\": \"The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"ThreadID\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID to post the message as. If not provided, the API token user will be used.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,285 @@
{
"name": "CreateIssueReply",
"fully_qualified_name": "PylonApi.CreateIssueReply@0.1.0",
"description": "Create a reply to an existing issue.\n\nUse this tool to add a comment or response to an existing issue when interaction or follow-up is required.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique identifier of the issue to which you want to reply.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "issue_reply_details",
"required": false,
"description": "JSON object containing details like body_html, attachment URLs, and optional user or contact IDs for posting the reply. Also includes email information for cc, bcc, and to fields.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"email_info": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"bcc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"cc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"to_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": null
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateIssueReply'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/reply",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "issue_reply_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"email_info": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"bcc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"cc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"to_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": null
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The body of the message in HTML.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"email_info\": {\n \"properties\": {\n \"bcc_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"BccEmails\"\n },\n \"cc_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CcEmails\"\n },\n \"to_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ToEmails\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"message_id\": {\n \"description\": \"The ID of the message to reply to.\",\n \"type\": \"string\",\n \"x-go-name\": \"MessageID\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"message_id\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,137 @@
{
"name": "CreateIssueThread",
"fully_qualified_name": "PylonApi.CreateIssueThread@0.1.0",
"description": "Create an issue thread for an existing issue.\n\nUse this tool to initiate a discussion thread related to a specific issue by providing the issue ID. This helps in organizing conversations around particular issues efficiently.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The ID for the issue you want to create a thread for. Required to link the thread to the correct issue.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to create a thread for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "thread_name",
"required": false,
"description": "The title or name of the thread to be created. This should be descriptive of the discussion purpose.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the thread."
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateIssueThread'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/threads",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue to create a thread for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to create a thread for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "name",
"tool_parameter_name": "thread_name",
"description": "The name of the thread.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the thread."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the thread.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,203 @@
{
"name": "CreateMilestone",
"fully_qualified_name": "PylonApi.CreateMilestone@0.1.0",
"description": "Create a new milestone in a project management system.\n\nThis tool is used to create a milestone within a project management application. It should be called when there's a need to add a new milestone to track progress or set goals in a project. The tool confirms the creation of the milestone.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "milestone_name",
"required": true,
"description": "The name of the milestone to be created. This is the title that will be displayed for the milestone.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
},
{
"name": "project_id_for_milestone",
"required": true,
"description": "The unique identifier for the project to which this milestone belongs. Required for associating the milestone with the correct project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this milestone"
},
"inferrable": true,
"http_endpoint_parameter_name": "project_id"
},
{
"name": "milestone_due_date",
"required": false,
"description": "Due date for this milestone in RFC 3339 format (e.g., 2023-12-31T23:59:59Z).",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "due_date"
},
{
"name": "account_id_for_project",
"required": false,
"description": "Account ID for the project. This is needed to associate the milestone with the correct account.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateMilestone'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/milestones",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "name",
"tool_parameter_name": "milestone_name",
"description": "Name for this milestone",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "due_date",
"tool_parameter_name": "milestone_due_date",
"description": "Due date for this milestone, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "project_id",
"tool_parameter_name": "project_id_for_milestone",
"description": "Project ID for this milestone",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this milestone"
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "account_id",
"tool_parameter_name": "account_id_for_project",
"description": "Account ID for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,203 @@
{
"name": "CreateNewCollection",
"fully_qualified_name": "PylonApi.CreateNewCollection@0.1.0",
"description": "Create a new collection in a knowledge base.\n\nThis tool is used to create a new collection within a specified knowledge base by providing the knowledge base ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The unique identifier for the knowledge base where the new collection will be created.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the article is being added to."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "collection_details",
"required": false,
"description": "JSON object containing 'title', 'description', 'slug', and 'parent_collection_id' for the new collection.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description of the collection."
},
"parent_collection_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the collection associated to the article"
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the collection. Defaults to a slug based on the title."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the collection."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateCollection'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}/collections",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The ID of the knowledge base the article is being added to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the article is being added to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "collection_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description of the collection."
},
"parent_collection_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the collection associated to the article"
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the collection. Defaults to a slug based on the title."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the collection."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"Description of the collection.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"parent_collection_id\": {\n \"description\": \"The id of the collection associated to the article\",\n \"type\": \"string\",\n \"x-go-name\": \"ParentCollectionID\"\n },\n \"slug\": {\n \"description\": \"The slug of the collection. Defaults to a slug based on the title.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"title\": {\n \"description\": \"The title of the collection.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n }\n },\n \"required\": [\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,276 @@
{
"name": "CreateNewContact",
"fully_qualified_name": "PylonApi.CreateNewContact@0.1.0",
"description": "Create a new contact in the system.\n\nThis tool creates a new contact by sending the necessary details to the endpoint. Use it when you need to add a new person's contact information to the database.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "contact_details",
"required": false,
"description": "A JSON object containing the details of the contact to be created, such as name, email, account details, avatar URL, custom fields, and portal role.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateContact'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/contacts",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "contact_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_external_id\": {\n \"description\": \"The external ID of the account that this contact belongs to. Cannot be used together with account_id.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountExternalID\"\n },\n \"account_id\": {\n \"description\": \"The account that this contact belongs to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"The name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,335 @@
{
"name": "CreateNewProject",
"fully_qualified_name": "PylonApi.CreateNewProject@0.1.0",
"description": "Create a new project seamlessly.\n\nThis tool is used to create a new project. It should be called when a user wants to initialize or start a new project within a system.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "project_name",
"required": true,
"description": "The name for the new project. This should be a descriptive and unique name to easily identify the project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
},
{
"name": "account_id_for_project",
"required": true,
"description": "Account ID associated with the project. This identifies the account under which the project will be created.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
},
{
"name": "project_description_html",
"required": false,
"description": "HTML formatted description for the project, including any necessary tags and formatting.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "description_html"
},
{
"name": "start_date",
"required": false,
"description": "Start date for the project in RFC 3339 format (e.g., 2023-03-10T14:00:00Z).",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "start_date"
},
{
"name": "project_end_date",
"required": false,
"description": "End date for the project in RFC 3339 format. Indicates when the project is expected to be finished.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "end_date"
},
{
"name": "project_owner_id",
"required": false,
"description": "The unique identifier for the owner of the project. This is a string that specifies who will be managing or leading the project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "owner_id"
},
{
"name": "project_template_id",
"required": false,
"description": "The ID of the template to be used for creating this project. It should match an existing project template ID.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project template ID for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "project_template_id"
},
{
"name": "customer_portal_visible",
"required": false,
"description": "Boolean indicating if the project should be visible in the customer portal. True makes it visible.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "customer_portal_visible"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateProject'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/projects",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "name",
"tool_parameter_name": "project_name",
"description": "Name for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "description_html",
"tool_parameter_name": "project_description_html",
"description": "Description HTML for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "customer_portal_visible",
"tool_parameter_name": "customer_portal_visible",
"description": "Customer portal visible for this project",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "start_date",
"tool_parameter_name": "start_date",
"description": "Start date for this project, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_date",
"tool_parameter_name": "project_end_date",
"description": "End date for this project, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "account_id",
"tool_parameter_name": "account_id_for_project",
"description": "Account ID for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "owner_id",
"tool_parameter_name": "project_owner_id",
"description": "Owner ID for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "project_template_id",
"tool_parameter_name": "project_template_id",
"description": "Project template ID for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project template ID for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,154 @@
{
"name": "CreateNewTag",
"fully_qualified_name": "PylonApi.CreateNewTag@0.1.0",
"description": "Create a new tag within the system.\n\nThis tool is used to create a new tag by sending a POST request to the /tags endpoint. It should be called when a user wants to add a new tag to the system for organizational or categorization purposes.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "tag_creation_details",
"required": false,
"description": "A JSON object containing the details of the tag to be created: 'hex_color' for the color code, 'object_type' to specify the associated object ('account', 'issue', or 'contact'), and 'value' for the tag's name.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"hex_color": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\"."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The tag value."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateTag'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tags",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "tag_creation_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"hex_color": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\"."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The tag value."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"hex_color\": {\n \"description\": \"The hex code of the tag's color.\",\n \"type\": \"string\",\n \"x-go-name\": \"HexColor\"\n },\n \"object_type\": {\n \"description\": \"The object type of the associated object. Can be \\\"account\\\", \\\"issue\\\", or \\\"contact\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n },\n \"value\": {\n \"description\": \"The tag value.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n }\n },\n \"required\": [\n \"object_type\",\n \"value\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,137 @@
{
"name": "CreateNewTeam",
"fully_qualified_name": "PylonApi.CreateNewTeam@0.1.0",
"description": "Create a new team for collaboration.\n\nUse this tool to create a new team on the platform, facilitating collaboration and organization. It returns details about the newly created team.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_name",
"required": false,
"description": "The name to assign to the newly created team.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
},
{
"name": "user_ids_to_add",
"required": false,
"description": "A list of user IDs to include in the new team. Each user ID should be a string.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team."
},
"inferrable": true,
"http_endpoint_parameter_name": "user_ids"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateTeam'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/teams",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "name",
"tool_parameter_name": "team_name",
"description": "The name of the team.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "user_ids",
"tool_parameter_name": "user_ids_to_add",
"description": "The list of user IDs to add to the team.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"user_ids\": {\n \"description\": \"The list of user IDs to add to the team.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,203 @@
{
"name": "CreateRouteRedirect",
"fully_qualified_name": "PylonApi.CreateRouteRedirect@0.1.0",
"description": "Create a new route redirect for a knowledge base.\n\nThis tool is used to create a new route redirect within a specified knowledge base. It should be called when you need to add a redirect to manage or alter the routing within a knowledge base.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The unique identifier for the knowledge base where the route redirect will be added.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the route redirect is being added to."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "route_redirect_details",
"required": false,
"description": "JSON object with details for creating the route redirect, including 'from_path', 'language', 'object_id', and 'object_type'.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"from_path": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The path to redirect from."
},
"language": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used."
},
"object_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the object to redirect to."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the object to redirect to. This must be \"article\"."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateRouteRedirect'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}/route-redirects",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The ID of the knowledge base the route redirect is being added to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the route redirect is being added to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "route_redirect_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"from_path": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The path to redirect from."
},
"language": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used."
},
"object_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the object to redirect to."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the object to redirect to. This must be \"article\"."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"from_path\": {\n \"description\": \"The path to redirect from.\",\n \"type\": \"string\",\n \"x-go-name\": \"FromPath\"\n },\n \"language\": {\n \"description\": \"Language of the object to redirect to. If not specified, the default language of the knowledge base will be used.\",\n \"type\": \"string\",\n \"x-go-name\": \"Language\"\n },\n \"object_id\": {\n \"description\": \"The ID of the object to redirect to.\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectID\"\n },\n \"object_type\": {\n \"description\": \"The type of the object to redirect to. This must be \\\"article\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n }\n },\n \"required\": [\n \"from_path\",\n \"object_id\",\n \"object_type\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,376 @@
{
"name": "CreateTask",
"fully_qualified_name": "PylonApi.CreateTask@0.1.0",
"description": "Create a new task with specified parameters.\n\nUse this tool to create a task. It should be called when a new task needs to be added to the system, specifying necessary parameters.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "task_title",
"required": true,
"description": "The title of the task to be created. It should summarize the task clearly and concisely.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "title"
},
{
"name": "task_body_html",
"required": false,
"description": "HTML content for the task body. Provide detailed information or instructions here using HTML formatting.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "body_html"
},
{
"name": "milestone_id",
"required": false,
"description": "Unique identifier for the milestone associated with the task.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "milestone_id"
},
{
"name": "task_status",
"required": false,
"description": "Set the task's current status: 'not_started', 'in_progress', or 'completed'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted"
},
"inferrable": true,
"http_endpoint_parameter_name": "status"
},
{
"name": "task_due_date",
"required": false,
"description": "Due date for the task, formatted in RFC 3339. Specify the date by which the task should be completed.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "due_date"
},
{
"name": "task_assignee_id",
"required": false,
"description": "The ID of the user to whom the task is assigned. It should be a valid user ID in the system.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "assignee_id"
},
{
"name": "account_id_for_task",
"required": false,
"description": "Specify the Account ID associated with this task.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
},
{
"name": "project_id",
"required": false,
"description": "Unique identifier for the project to which this task belongs.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "project_id"
},
{
"name": "make_customer_portal_visible",
"required": false,
"description": "Set to true to make the task visible on the customer portal, false to hide it.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "customer_portal_visible"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateTask'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tasks",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "title",
"tool_parameter_name": "task_title",
"description": "Title for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "body_html",
"tool_parameter_name": "task_body_html",
"description": "Body HTML for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "milestone_id",
"tool_parameter_name": "milestone_id",
"description": "Milestone ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "status",
"tool_parameter_name": "task_status",
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "customer_portal_visible",
"tool_parameter_name": "make_customer_portal_visible",
"description": "Customer portal visible for this task",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": false,
"documentation_urls": []
},
{
"name": "due_date",
"tool_parameter_name": "task_due_date",
"description": "Due date for this task, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "assignee_id",
"tool_parameter_name": "task_assignee_id",
"description": "Assignee ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "account_id",
"tool_parameter_name": "account_id_for_task",
"description": "Account ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "project_id",
"tool_parameter_name": "project_id",
"description": "Project ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "CreateTrainingDataConfig",
"fully_qualified_name": "PylonApi.CreateTrainingDataConfig@0.1.0",
"description": "Create a new training data configuration.\n\nCall this tool to set up a new training data configuration for your application. It is used when you need to initialize or update your training data setup.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "training_data_name",
"required": false,
"description": "The name of the training data container to be created.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the training data container."
},
"inferrable": true,
"http_endpoint_parameter_name": "training_data_name"
},
{
"name": "training_data_visibility",
"required": false,
"description": "Specifies who can access the training data. Valid options: \"everyone\", \"user_only\", \"ai_agent_only\". Defaults to \"everyone\".",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\""
},
"inferrable": true,
"http_endpoint_parameter_name": "visibility"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateTrainingData'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/training-data",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "training_data_name",
"tool_parameter_name": "training_data_name",
"description": "The name of the training data container.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the training data container."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "visibility",
"tool_parameter_name": "training_data_visibility",
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\"",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"training_data_name\": {\n \"description\": \"The name of the training data container.\",\n \"type\": \"string\",\n \"x-go-name\": \"TrainingDataName\"\n },\n \"visibility\": {\n \"description\": \"The visibility of the training data. Defaults to \\\"everyone\\\".\\n\\nValid values: \\\"everyone\\\", \\\"user_only\\\", \\\"ai_agent_only\\\"\",\n \"type\": \"string\",\n \"x-go-name\": \"Visibility\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteAccount",
"fully_qualified_name": "PylonApi.DeleteAccount@0.1.0",
"description": "Delete an existing account.\n\nThis tool deletes an existing account based on the provided account ID. Call this tool when you need to permanently remove an account.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_id",
"required": true,
"description": "The ID or external ID of the account to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteAccount'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "account_id",
"description": "The ID or external ID of the account to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "DeleteAccountHighlight",
"fully_qualified_name": "PylonApi.DeleteAccountHighlight@0.1.0",
"description": "Delete a specific highlight from an account.\n\nUse this tool to delete a specific highlight by providing the account ID and highlight ID. It should be called when a user wants to remove a highlight linked to an account.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_identifier",
"required": true,
"description": "The ID or external ID of the account that the highlight belongs to. Can be a UUID or any string.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
},
{
"name": "highlight_id",
"required": true,
"description": "The unique ID of the highlight you intend to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "highlight_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteAccountHighlight'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{account_id}/highlights/{highlight_id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "account_id",
"tool_parameter_name": "account_identifier",
"description": "The ID or external ID of the account that the highlight belongs to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "highlight_id",
"tool_parameter_name": "highlight_id",
"description": "The ID of the highlight to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "DeleteArticle",
"fully_qualified_name": "PylonApi.DeleteArticle@0.1.0",
"description": "Delete an existing article from a knowledge base.\n\nCall this tool to remove an article from a knowledge base by specifying the knowledge base and article IDs.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The KnowledgeBaseID of the article to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The KnowledgeBaseID of the article to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "article_id",
"required": true,
"description": "The ID of the article that needs to be deleted from the knowledge base.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the article to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "article_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteArticle'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}/articles/{article_id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The KnowledgeBaseID of the article to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The KnowledgeBaseID of the article to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "article_id",
"tool_parameter_name": "article_id",
"description": "The ID of the article to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the article to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteContact",
"fully_qualified_name": "PylonApi.DeleteContact@0.1.0",
"description": "Delete an existing contact by ID.\n\nThis tool deletes a contact by its ID. It should be called when a user needs to remove a contact from the system.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "contact_id",
"required": true,
"description": "The ID of the contact to be deleted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteContact'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/contacts/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "contact_id",
"description": "The ID of the contact to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteExistingProject",
"fully_qualified_name": "PylonApi.DeleteExistingProject@0.1.0",
"description": "Delete an existing project using its ID.\n\nUse this tool to delete an existing project by providing the project ID. It allows you to manage and remove projects that are no longer needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "project_id",
"required": true,
"description": "The unique identifier of the project to be deleted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteProject'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/projects/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "project_id",
"description": "The ID of the project to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteExistingTag",
"fully_qualified_name": "PylonApi.DeleteExistingTag@0.1.0",
"description": "Delete an existing tag by ID.\n\nUse this tool to delete an existing tag by specifying its ID. It confirms whether the deletion was successful.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "tag_id",
"required": true,
"description": "The unique identifier of the tag to delete. Provide this ID to specify which tag should be removed.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteTag'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tags/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "tag_id",
"description": "The ID of the tag to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteIssue",
"fully_qualified_name": "PylonApi.DeleteIssue@0.1.0",
"description": "Delete an existing issue by ID.\n\nUse this tool to delete an issue from the system by providing its ID. It is ideal for scenarios where issues need to be managed or cleaned up.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique identifier of the issue to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteIssue'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteMilestone",
"fully_qualified_name": "PylonApi.DeleteMilestone@0.1.0",
"description": "Delete a specific milestone using its ID.\n\nUse this tool to remove a milestone by providing its unique ID. This operation is irreversible and should be used when a milestone is no longer needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "milestone_id",
"required": true,
"description": "The unique ID of the milestone to be deleted. Ensure it is correct as this action is irreversible.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteMilestone'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/milestones/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "milestone_id",
"description": "The ID of the milestone to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "DeleteTask",
"fully_qualified_name": "PylonApi.DeleteTask@0.1.0",
"description": "Delete an existing task by ID.\n\nUse this tool to delete a specific task by its ID. Call it when you need to remove a task permanently from the system.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "task_id",
"required": true,
"description": "The unique identifier of the task to be deleted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteTask'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tasks/{id}",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "task_id",
"description": "The ID of the task to delete.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to delete."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,170 @@
{
"name": "DeleteTrainingDataDocuments",
"fully_qualified_name": "PylonApi.DeleteTrainingDataDocuments@0.1.0",
"description": "Deletes documents from a training data configuration.\n\nUse this tool to delete documents from a specific training data configuration by providing the relevant ID. This tool is helpful when managing or updating data sets for training purposes.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "training_data_id",
"required": true,
"description": "The ID of the training data from which documents will be deleted. Provide this to specify the exact dataset.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "document_ids_to_delete",
"required": false,
"description": "An array of document IDs that need to be deleted from the training data configuration.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Document IDs to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "document_ids"
},
{
"name": "external_ids_to_delete",
"required": false,
"description": "A list of external IDs to delete from the training data configuration.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "External IDs to delete."
},
"inferrable": true,
"http_endpoint_parameter_name": "external_ids"
}
]
},
"output": {
"description": "Response from the API endpoint 'DeleteTrainingDataDocuments'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/training-data/{id}/documents",
"http_method": "DELETE",
"headers": {},
"parameters": [
{
"name": "document_ids",
"tool_parameter_name": "document_ids_to_delete",
"description": "Document IDs to delete.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Document IDs to delete."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "external_ids",
"tool_parameter_name": "external_ids_to_delete",
"description": "External IDs to delete.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "External IDs to delete."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "id",
"tool_parameter_name": "training_data_id",
"description": "The ID of the training data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "FetchAllTags",
"fully_qualified_name": "PylonApi.FetchAllTags@0.1.0",
"description": "Retrieve all available tags.\n\nUse this tool to obtain a comprehensive list of all tags. It is ideal for scenarios where you need to display or manage tags.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetTags'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tags",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "FetchTeamList",
"fully_qualified_name": "PylonApi.FetchTeamList@0.1.0",
"description": "Retrieve the list of available teams.\n\nUse this tool to get a list of all teams from the service. Useful for displaying team information or selecting a team from the list.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetTeams'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/teams",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetAccountInfo",
"fully_qualified_name": "PylonApi.GetAccountInfo@0.1.0",
"description": "Retrieve an account's details using its ID or external ID.\n\nCall this tool to obtain detailed information about an account by providing either the account ID or external ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_id",
"required": true,
"description": "The ID or external ID of the account to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to fetch."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetAccount'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "account_id",
"description": "The ID or external ID of the account to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to fetch."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "GetAccountList",
"fully_qualified_name": "PylonApi.GetAccountList@0.1.0",
"description": "Retrieve a list of accounts from the service.\n\nThis tool fetches a complete list of accounts from the Pylon service. It should be called when you need to obtain account information.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "account_fetch_limit",
"required": true,
"description": "Specify the number of accounts to fetch, from 1 to 999. Defaults to 100 if not specified.",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"inferrable": true,
"http_endpoint_parameter_name": "limit"
},
{
"name": "pagination_cursor",
"required": false,
"description": "A string representing the cursor for pagination. Use this to fetch the next set of accounts.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetAccounts'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "The cursor to use for pagination.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "limit",
"tool_parameter_name": "account_fetch_limit",
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetAllContacts",
"fully_qualified_name": "PylonApi.GetAllContacts@0.1.0",
"description": "Retrieve all contacts from the service.\n\nThis tool retrieves all contacts using the Pylon service. It should be called when there's a need to fetch a complete list of contacts from the service.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetContacts'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/contacts",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetAllCustomFields",
"fully_qualified_name": "PylonApi.GetAllCustomFields@0.1.0",
"description": "Retrieve all custom fields from the system.\n\nThis tool is used to get a complete list of custom fields. It should be called when you need information about available custom fields.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "custom_field_object_type",
"required": true,
"description": "Specify the object type for custom fields. Options: \"account\", \"issue\", or \"contact\".",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\"."
},
"inferrable": true,
"http_endpoint_parameter_name": "object_type"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetCustomFields'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/custom-fields",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "object_type",
"tool_parameter_name": "custom_field_object_type",
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\".",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\"."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "GetCollectionById",
"fully_qualified_name": "PylonApi.GetCollectionById@0.1.0",
"description": "Retrieve a specific collection using its ID.\n\nUse this tool to obtain detailed information about a particular collection by supplying the collection ID. The collection belongs to a specific knowledge base. Ideal for retrieving specific datasets or information collections within larger systems.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The ID of the knowledge base to which the collection belongs.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "collection_id",
"required": true,
"description": "The unique ID of the collection to be retrieved from the knowledge base.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the collection"
},
"inferrable": true,
"http_endpoint_parameter_name": "collection_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetCollection'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}/collections/{collection_id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The ID of the knowledge base",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "collection_id",
"tool_parameter_name": "collection_id",
"description": "The ID of the collection",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the collection"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,170 @@
{
"name": "GetContactById",
"fully_qualified_name": "PylonApi.GetContactById@0.1.0",
"description": "Retrieve contact details using the contact ID.\n\nThis tool fetches and returns contact details by querying with a specified contact ID. Use it when you need to obtain specific contact information.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "number_of_accounts_to_fetch",
"required": true,
"description": "Specifies the number of accounts to fetch. Must be between 1 and 999. Defaults to 100 if not provided.",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"inferrable": true,
"http_endpoint_parameter_name": "limit"
},
{
"name": "contact_id",
"required": true,
"description": "The unique identifier for the contact to fetch details.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "pagination_cursor",
"required": false,
"description": "A string representing the cursor for pagination purposes, used to fetch the next set of results in a paginated response.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"inferrable": true,
"http_endpoint_parameter_name": "cursor"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetContact'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/contacts/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "cursor",
"tool_parameter_name": "pagination_cursor",
"description": "The cursor to use for pagination.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "limit",
"tool_parameter_name": "number_of_accounts_to_fetch",
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "id",
"tool_parameter_name": "contact_id",
"description": "The ID of the contact.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetCustomActivityTypes",
"fully_qualified_name": "PylonApi.GetCustomActivityTypes@0.1.0",
"description": "Retrieve a list of custom activity types.\n\nUse this tool to get a list of custom activity types that are available. It should be called when there's a need to know what custom activity types exist.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetActivityTypes'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/activity-types",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetCustomField",
"fully_qualified_name": "PylonApi.GetCustomField@0.1.0",
"description": "Retrieve a custom field by its ID.\n\nUse this tool to obtain details of a specific custom field using its unique identifier.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "custom_field_id",
"required": true,
"description": "The unique identifier of the custom field to retrieve.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetCustomField'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/custom-fields/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "custom_field_id",
"description": "The ID of the custom field.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetIssueById",
"fully_qualified_name": "PylonApi.GetIssueById@0.1.0",
"description": "Retrieve issue details using its ID or number.\n\nUse this tool to access details of an issue by providing its specific ID or number. Ideal for tasks requiring detailed issue information retrieval in issue tracking systems.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID or number of the issue you want to retrieve.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to fetch."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetIssue'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID or number of the issue to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to fetch."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetIssueFollowers",
"fully_qualified_name": "PylonApi.GetIssueFollowers@0.1.0",
"description": "Get followers of a specific issue to manage participation.\n\nThis tool retrieves the list of users who are following a specified issue. Use this tool when you need to know who is engaging with or interested in updates about an issue.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID or number of the issue to retrieve followers for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to get followers for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetIssueFollowers'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/followers",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID or number of the issue to get followers for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to get followers for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetIssueMessages",
"fully_qualified_name": "PylonApi.GetIssueMessages@0.1.0",
"description": "Retrieve messages for a specific issue.\n\nThis tool is used to obtain all messages associated with a particular issue, identified by its ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID of the issue for which to retrieve messages.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch messages for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetIssueMessages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/messages",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue to fetch messages for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch messages for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetIssueStatuses",
"fully_qualified_name": "PylonApi.GetIssueStatuses@0.1.0",
"description": "Retrieve all issue statuses from the system.\n\nUse this tool to get a complete list of issue statuses available in the project management system. This can help with tracking and managing project workflows efficiently.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetIssueStatuses'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issue-statuses",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetIssueThreads",
"fully_qualified_name": "PylonApi.GetIssueThreads@0.1.0",
"description": "Retrieve threads for a specific issue.\n\nCall this tool to get all threads associated with a particular issue using its ID. Useful for tracking conversations or discussions related to an issue.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID of the issue for which threads need to be retrieved.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch threads for."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetIssueThreads'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/threads",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue to fetch threads for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch threads for."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "GetIssuesList",
"fully_qualified_name": "PylonApi.GetIssuesList@0.1.0",
"description": "Retrieve a list of issues.\n\nCall this tool to get a list of issues from the Pylon service, useful for tracking or managing tasks and bugs.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "start_time_for_issue_range",
"required": true,
"description": "The start time in RFC3339 format to query issues. Duration with end_time must be <= 30 days.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"inferrable": true,
"http_endpoint_parameter_name": "start_time"
},
{
"name": "end_time_rfc3339",
"required": true,
"description": "The end time in RFC3339 format for the issue retrieval range, must be within 30 days of the start time.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"inferrable": true,
"http_endpoint_parameter_name": "end_time"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetIssues'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "start_time",
"tool_parameter_name": "start_time_for_issue_range",
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_time",
"tool_parameter_name": "end_time_rfc3339",
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"accepted_as": "query",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetKnowledgeBaseById",
"fully_qualified_name": "PylonApi.GetKnowledgeBaseById@0.1.0",
"description": "Retrieve a knowledge base using its ID.\n\nUse this tool to fetch information about a specific knowledge base by providing its ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The unique identifier for the knowledge base to be retrieved.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetKnowledgeBase'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The ID of the knowledge base.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetKnowledgeBases",
"fully_qualified_name": "PylonApi.GetKnowledgeBases@0.1.0",
"description": "Retrieve all available knowledge bases.\n\nThis tool is called to get a list of all knowledge bases from the Pylon service.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetKnowledgeBases'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetOrganizationDetails",
"fully_qualified_name": "PylonApi.GetOrganizationDetails@0.1.0",
"description": "Retrieve details of the current organization.\n\nUse this tool to get information about the organization linked to the given API token, like name, address, and other relevant details.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetMe'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/me",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetTagById",
"fully_qualified_name": "PylonApi.GetTagById@0.1.0",
"description": "Retrieve tag details using a specified ID.\n\n",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "tag_id",
"required": true,
"description": "The unique identifier for the tag to retrieve details.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetTag'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tags/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "tag_id",
"description": "The ID of the tag.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetTeamById",
"fully_qualified_name": "PylonApi.GetTeamById@0.1.0",
"description": "Retrieve team details using the team's ID.\n\nUse this tool to get detailed information about a team by specifying its unique ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The unique ID of the team to retrieve details for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to fetch."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetTeam'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/teams/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "team_id",
"description": "The ID of the team to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to fetch."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetTicketForm",
"fully_qualified_name": "PylonApi.GetTicketForm@0.1.0",
"description": "Retrieve detailed information about a ticket form.\n\nCall this tool to obtain detailed information for a specific ticket form by providing its ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "ticket_form_id",
"required": true,
"description": "The unique ID of the ticket form to retrieve.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the ticket form to fetch."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetTicketForm'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/ticket-forms/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "ticket_form_id",
"description": "The ID of the ticket form to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the ticket form to fetch."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetTicketForms",
"fully_qualified_name": "PylonApi.GetTicketForms@0.1.0",
"description": "Retrieve a list of ticket forms available.\n\nThis tool fetches a list of ticket forms, which can be used to understand the structure of available forms for managing tickets. It should be called when you need to review or select from ticket forms.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetTicketForms'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/ticket-forms",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "GetUserById",
"fully_qualified_name": "PylonApi.GetUserById@0.1.0",
"description": "Retrieve user details using their unique ID.\n\nUse this tool to get detailed information about a user by providing their unique ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "user_id",
"required": true,
"description": "The unique ID of the user to fetch details for.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to fetch."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetUser'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/users/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "user_id",
"description": "The ID of the user to fetch.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to fetch."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "GetUserRoles",
"fully_qualified_name": "PylonApi.GetUserRoles@0.1.0",
"description": "Get a list of all user roles.\n\nUse this tool to retrieve a comprehensive list of all user roles. It is useful for managing and understanding user permissions.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetUserRoles'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/user-roles",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,253 @@
{
"name": "ImportMessagesToIssue",
"fully_qualified_name": "PylonApi.ImportMessagesToIssue@0.1.0",
"description": "Import messages into an existing issue.\n\nUse this tool to import new messages onto an existing issue, facilitating better organization and tracking within issue management systems.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The unique ID of the existing issue to which messages will be imported.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "imported_messages",
"required": false,
"description": "A JSON array of messages to import, each containing fields like body_html, contact_id or user_id (one is required), created_at, is_private, and optional attachment_urls.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"messages": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this message."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content of the message."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the message is private."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"description": "Messages to be imported for this issue. At least one message is required."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'ImportMessages'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/import/issues/{id}/messages",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "imported_messages",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"messages": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this message."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content of the message."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the message is private."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"description": "Messages to be imported for this issue. At least one message is required."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"messages\": {\n \"description\": \"Messages to be imported for this issue. At least one message is required.\",\n \"items\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this message.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The HTML content of the message.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"The contact that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"created_at\": {\n \"description\": \"CreatedAt is the time the message was created (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"CreatedAt\"\n },\n \"is_private\": {\n \"description\": \"Whether the message is private.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPrivate\"\n },\n \"user_id\": {\n \"description\": \"The user that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"is_private\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Messages\"\n }\n },\n \"required\": [\n \"messages\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,260 @@
{
"name": "ImportNewContact",
"fully_qualified_name": "PylonApi.ImportNewContact@0.1.0",
"description": "Import a new contact into the system.\n\nUse this tool to import a new contact into the system whenever you need to add contact information.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "contact_details",
"required": false,
"description": "A JSON object containing the contact's details, such as account ID, avatar URL, custom fields, email, name, and portal role.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'ImportContact'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/import/contacts",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "contact_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"The account that this contact belongs to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"The name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"required\": [\n \"email\",\n \"name\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,187 @@
{
"name": "LinkExternalIssue",
"fully_qualified_name": "PylonApi.LinkExternalIssue@0.1.0",
"description": "Link or unlink external issues to an internal issue.\n\nUse this tool to link external issues to an internal issue or unlink them by specifying the operation type. Ideal for managing issue relationships between different systems.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_identifier",
"required": true,
"description": "The unique ID or number of the internal issue to which external issues should be linked or unlinked.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to link external issues to."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "external_issue_details",
"required": false,
"description": "JSON object containing details of the external issue, including `external_issue_id`, `operation` (link/unlink), and `source` system.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"external_issue_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the external issue in the source system."
},
"operation": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'LinkExternalIssue'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/external-issues",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_identifier",
"description": "The ID or number of the issue to link external issues to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to link external issues to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "external_issue_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"external_issue_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the external issue in the source system."
},
"operation": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"external_issue_id\": {\n \"description\": \"The ID of the external issue in the source system.\",\n \"type\": \"string\",\n \"x-go-name\": \"ExternalIssueID\"\n },\n \"operation\": {\n \"description\": \"Operation to perform. Use \\\"link\\\" to link issues (default) or \\\"unlink\\\" to unlink issues.\",\n \"type\": \"string\",\n \"x-go-name\": \"Operation\"\n },\n \"source\": {\n \"description\": \"The source system of the external issue (e.g., \\\"linear\\\", \\\"asana\\\", \\\"jira\\\", \\\"github\\\").\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"required\": [\n \"external_issue_id\",\n \"source\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,104 @@
{
"name": "ListCollectionsInKnowledgeBase",
"fully_qualified_name": "PylonApi.ListCollectionsInKnowledgeBase@0.1.0",
"description": "List all collections in a knowledge base.\n\nUse this tool to retrieve all collections within a specific knowledge base. Useful for accessing organized information in structured formats.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "knowledge_base_id",
"required": true,
"description": "The ID of the knowledge base to list the collections from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetCollections'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/knowledge-bases/{id}/collections",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "knowledge_base_id",
"description": "The ID of the knowledge base",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "ListTrainingData",
"fully_qualified_name": "PylonApi.ListTrainingData@0.1.0",
"description": "Fetches all training data configurations for the organization.\n\nUse this tool to retrieve a comprehensive list of training data configurations associated with the organization. Ideal for managing or reviewing training datasets.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'ListTrainingData'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/training-data",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,69 @@
{
"name": "ListUsers",
"fully_qualified_name": "PylonApi.ListUsers@0.1.0",
"description": "Fetches a list of users.\n\nUse this tool to retrieve a list of all users. It provides an overview of the users available in the system.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": []
},
"output": {
"description": "Response from the API endpoint 'GetUsers'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/users",
"http_method": "GET",
"headers": {},
"parameters": [],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,137 @@
{
"name": "RedactMessage",
"fully_qualified_name": "PylonApi.RedactMessage@0.1.0",
"description": "Removes or hides the content of a specified message.\n\nUse this tool to redact (remove or hide) the content of a message identified by a specific message ID within an issue. This is useful for maintaining privacy or correcting errors.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The ID of the issue associated with the message to be redacted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue that the message belongs to."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "message_id",
"required": true,
"description": "The unique identifier of the message to be redacted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to redact."
},
"inferrable": true,
"http_endpoint_parameter_name": "message_id"
}
]
},
"output": {
"description": "Response from the API endpoint 'RedactMessage'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/messages/{message_id}/redact",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue that the message belongs to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue that the message belongs to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "message_id",
"tool_parameter_name": "message_id",
"description": "The ID of the message to redact.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to redact."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,104 @@
{
"name": "RetrieveTrainingDataConfiguration",
"fully_qualified_name": "PylonApi.RetrieveTrainingDataConfiguration@0.1.0",
"description": "Retrieve a training data configuration by ID.\n\nThis tool retrieves the details of a specific training data configuration using its unique ID. It should be called when you need to access the configuration settings or specifications for a particular training dataset.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "training_data_id",
"required": true,
"description": "The unique ID of the training data to retrieve its configuration.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
}
]
},
"output": {
"description": "Response from the API endpoint 'GetTrainingData'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/training-data/{id}",
"http_method": "GET",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "training_data_id",
"description": "The ID of the training data.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,155 @@
{
"name": "SnoozeIssue",
"fully_qualified_name": "PylonApi.SnoozeIssue@0.1.0",
"description": "Temporarily pause notifications for an issue.\n\nUse this tool to snooze notifications for a specific issue temporarily. It is helpful when you want to focus elsewhere without getting alerts for the issue.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The ID or number of the issue to snooze.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to snooze."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "snooze_until_datetime",
"required": false,
"description": "The date and time to snooze the issue until, using the RFC3339 format.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"snooze_until": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date and time to snooze the issue until. (RFC3339)"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'SnoozeIssue'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/snooze",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID or number of the issue to snooze.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to snooze."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "snooze_until_datetime",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"snooze_until": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date and time to snooze the issue until. (RFC3339)"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"snooze_until\": {\n \"description\": \"The date and time to snooze the issue until. (RFC3339)\",\n \"type\": \"string\",\n \"x-go-name\": \"SnoozeUntil\"\n }\n },\n \"required\": [\n \"snooze_until\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,203 @@
{
"name": "UpdateAccountHighlight",
"fully_qualified_name": "PylonApi.UpdateAccountHighlight@0.1.0",
"description": "Updates the highlight for a specified account.\n\nUse this tool to update the highlight information for a given account by specifying either the internal account ID or an external ID. Appropriate when modifications to account highlights are needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "highlight_id",
"required": true,
"description": "The unique identifier of the highlight you wish to update. Ensure this accurately corresponds to the highlight needing modification.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "highlight_id"
},
{
"name": "account_identifier",
"required": true,
"description": "The internal account ID (UUID) or external ID (any string) of the account associated with the highlight.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"inferrable": true,
"http_endpoint_parameter_name": "account_id"
},
{
"name": "updated_html_content",
"required": false,
"description": "The updated HTML content for the account highlight.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated HTML content for this highlight."
},
"inferrable": true,
"http_endpoint_parameter_name": "content_html"
},
{
"name": "updated_expiration_timestamp",
"required": false,
"description": "The new expiration timestamp for the highlight in RFC3339 format.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated expires at timestamp (RFC3339)."
},
"inferrable": true,
"http_endpoint_parameter_name": "expires_at"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateAccountHighlight'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts/{account_id}/highlights/{highlight_id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "highlight_id",
"tool_parameter_name": "highlight_id",
"description": "The ID of the highlight to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "account_id",
"tool_parameter_name": "account_identifier",
"description": "The ID or external ID of the account that the highlight belongs to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "content_html",
"tool_parameter_name": "updated_html_content",
"description": "The updated HTML content for this highlight.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated HTML content for this highlight."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "expires_at",
"tool_parameter_name": "updated_expiration_timestamp",
"description": "The updated expires at timestamp (RFC3339).",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated expires at timestamp (RFC3339)."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"content_html\": {\n \"description\": \"The updated HTML content for this highlight.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContentHTML\"\n },\n \"expires_at\": {\n \"description\": \"The updated expires at timestamp (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"ExpiresAt\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,309 @@
{
"name": "UpdateContactInfo",
"fully_qualified_name": "PylonApi.UpdateContactInfo@0.1.0",
"description": "Updates an existing contact's information.\n\nUse this tool to update the details of an existing contact when modifications are needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "contact_id",
"required": true,
"description": "The unique identifier of the contact to be updated. This should match the existing contact's ID in the system.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "contact_update_details",
"required": false,
"description": "JSON object with updated contact details, including account ID, avatar URL, custom fields, email, name, and portal role. Use either 'account_id' or 'account_external_id', not both.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account to move the contact to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateContact'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/contacts/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "contact_id",
"description": "The ID of the contact to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "contact_update_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account to move the contact to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_external_id\": {\n \"description\": \"The external ID of the account to move the contact to. Cannot be used together with account_id.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountExternalID\"\n },\n \"account_id\": {\n \"description\": \"The account to move the contact to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"in: body\\n\\nThe name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,269 @@
{
"name": "UpdateCustomField",
"fully_qualified_name": "PylonApi.UpdateCustomField@0.1.0",
"description": "Update a custom field in a record.\n\n",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "custom_field_id",
"required": true,
"description": "The unique identifier for the custom field to be updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "custom_field_update_data",
"required": false,
"description": "JSON object containing details for updating the custom field, including 'default_value', 'default_values', 'description', 'label', 'select_options', and 'slug'.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateCustomField'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/custom-fields/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "custom_field_id",
"description": "The ID of the custom field.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "custom_field_update_data",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"default_value\": {\n \"description\": \"The default value for single-valued custom fields.\",\n \"type\": \"string\",\n \"x-go-name\": \"DefaultValue\"\n },\n \"default_values\": {\n \"description\": \"The default values for multi-valued custom fields.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"DefaultValues\"\n },\n \"description\": {\n \"description\": \"The description of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"label\": {\n \"description\": \"The label of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"select_options\": {\n \"description\": \"The list options of the select custom field. This is only present for select and multiselect custom fields.\",\n \"items\": {\n \"properties\": {\n \"label\": {\n \"description\": \"The label of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"slug\": {\n \"description\": \"The slug of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"SelectOptions\"\n },\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,170 @@
{
"name": "UpdateExistingTag",
"fully_qualified_name": "PylonApi.UpdateExistingTag@0.1.0",
"description": "Update an existing tag's information.\n\nUse this tool to modify the details of an already existing tag. It should be called when changes to tag attributes are needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "tag_id",
"required": true,
"description": "The unique identifier of the tag that needs to be updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "tag_hex_color",
"required": false,
"description": "The hex code representing the tag's color. Must be a valid six-digit hexadecimal value prefixed with '#'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"inferrable": true,
"http_endpoint_parameter_name": "hex_color"
},
{
"name": "tag_name",
"required": false,
"description": "The new name for the tag to be updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the tag."
},
"inferrable": true,
"http_endpoint_parameter_name": "value"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateTag'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tags/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "tag_id",
"description": "The ID of the tag to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "hex_color",
"tool_parameter_name": "tag_hex_color",
"description": "The hex code of the tag's color.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "value",
"tool_parameter_name": "tag_name",
"description": "in: body\n\nThe name of the tag.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the tag."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"hex_color\": {\n \"description\": \"The hex code of the tag's color.\",\n \"type\": \"string\",\n \"x-go-name\": \"HexColor\"\n },\n \"value\": {\n \"description\": \"in: body\\n\\nThe name of the tag.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,170 @@
{
"name": "UpdateExistingTeam",
"fully_qualified_name": "PylonApi.UpdateExistingTeam@0.1.0",
"description": "Update details of an existing team.\n\nUse this tool to modify the information of an existing team. Ideal for updating team names, members, or other details.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "team_id",
"required": true,
"description": "The ID of the team to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "team_name",
"required": false,
"description": "The new name for the team to be updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
},
{
"name": "team_member_user_ids",
"required": false,
"description": "The list of user IDs to set as team members. This updates the team to include only these users.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users."
},
"inferrable": true,
"http_endpoint_parameter_name": "user_ids"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateTeam'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/teams/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "team_id",
"description": "The ID of the team to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "name",
"tool_parameter_name": "team_name",
"description": "The name of the team.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "user_ids",
"tool_parameter_name": "team_member_user_ids",
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"user_ids\": {\n \"description\": \"The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,333 @@
{
"name": "UpdateIssue",
"fully_qualified_name": "PylonApi.UpdateIssue@0.1.0",
"description": "Update details of an existing issue.\n\nUse this tool to modify information for an already existing issue when changes or corrections are needed.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The ID of the issue to update. This should be a string representing the unique identifier for the issue.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "issue_update_details",
"required": false,
"description": "JSON object containing details to update an issue such as account_id, assignee_id, custom_fields, customer_portal_visible, requester_id, state, tags, and team_id.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"]."
},
"assignee_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified."
},
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the issue should be visible in the customer portal."
},
"requester_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the requester that this issue is on behalf of."
},
"requestor_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Deprecated: Use requester_id instead."
},
"state": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags."
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateIssue'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID of the issue to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "issue_update_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"]."
},
"assignee_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified."
},
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the issue should be visible in the customer portal."
},
"requester_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the requester that this issue is on behalf of."
},
"requestor_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Deprecated: Use requester_id instead."
},
"state": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags."
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"The ID of the account that this issue belongs to. Only supported on issues with source: [\\\"manual\\\", \\\"form\\\", \\\"email\\\"].\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"assignee_id\": {\n \"description\": \"The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this issue. Only passed in fields will be modified.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"customer_portal_visible\": {\n \"description\": \"Whether the issue should be visible in the customer portal.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"requester_id\": {\n \"description\": \"The ID of the requester that this issue is on behalf of.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterID\"\n },\n \"requestor_id\": {\n \"description\": \"Deprecated: Use requester_id instead.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequestorID\"\n },\n \"state\": {\n \"description\": \"The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.\",\n \"type\": \"string\",\n \"x-go-name\": \"State\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"team_id\": {\n \"description\": \"The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"TeamID\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,203 @@
{
"name": "UpdateIssueFollowers",
"fully_qualified_name": "PylonApi.UpdateIssueFollowers@0.1.0",
"description": "Add or remove followers for an issue.\n\nThis tool allows you to add or remove followers to a specific issue. Use it when managing the users who should receive notifications about updates on an issue. Set the operation field to \"remove\" to remove followers.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "issue_id",
"required": true,
"description": "The ID or number of the issue to add or remove followers from.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to add followers to."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "contact_ids_to_add",
"required": false,
"description": "An array of contact IDs to add as followers to the issue. Each ID should be a string.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of contacts to add as followers."
},
"inferrable": true,
"http_endpoint_parameter_name": "contact_ids"
},
{
"name": "update_operation",
"required": false,
"description": "Specify 'add' to add followers or 'remove' to remove them.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers."
},
"inferrable": true,
"http_endpoint_parameter_name": "operation"
},
{
"name": "user_ids_to_add_as_followers",
"required": false,
"description": "List of user IDs to add as followers to a specific issue.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of users to add as followers."
},
"inferrable": true,
"http_endpoint_parameter_name": "user_ids"
}
]
},
"output": {
"description": "Response from the API endpoint 'AddIssueFollowers'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/issues/{id}/followers",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "issue_id",
"description": "The ID or number of the issue to add followers to.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to add followers to."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "contact_ids",
"tool_parameter_name": "contact_ids_to_add",
"description": "The IDs of contacts to add as followers.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of contacts to add as followers."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "operation",
"tool_parameter_name": "update_operation",
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "user_ids",
"tool_parameter_name": "user_ids_to_add_as_followers",
"description": "The IDs of users to add as followers.",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of users to add as followers."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"contact_ids\": {\n \"description\": \"The IDs of contacts to add as followers.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ContactIDs\"\n },\n \"operation\": {\n \"description\": \"Operation to perform. Use \\\"add\\\" to add followers (default) or \\\"remove\\\" to remove followers.\",\n \"type\": \"string\",\n \"x-go-name\": \"Operation\"\n },\n \"user_ids\": {\n \"description\": \"The IDs of users to add as followers.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,170 @@
{
"name": "UpdateMilestone",
"fully_qualified_name": "PylonApi.UpdateMilestone@0.1.0",
"description": "Updates the details of a specific milestone.\n\nThis tool is used to update information for a specific milestone in a project, identified by its ID.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "milestone_id",
"required": true,
"description": "The unique ID of the milestone to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "milestone_due_date",
"required": false,
"description": "The due date for the milestone in RFC 3339 format (e.g., 2023-10-21T00:00:00Z).",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "due_date"
},
{
"name": "milestone_name",
"required": false,
"description": "The new name for the milestone you want to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateMilestone'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/milestones/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "milestone_id",
"description": "The ID of the milestone to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "due_date",
"tool_parameter_name": "milestone_due_date",
"description": "Due date for this milestone, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "name",
"tool_parameter_name": "milestone_name",
"description": "Name for this milestone",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"due_date\": {\n \"description\": \"Due date for this milestone, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"DueDate\"\n },\n \"name\": {\n \"description\": \"Name for this milestone\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,236 @@
{
"name": "UpdateMultipleAccounts",
"fully_qualified_name": "PylonApi.UpdateMultipleAccounts@0.1.0",
"description": "Update multiple accounts simultaneously.\n\nUse this tool to update details for multiple accounts in one request. It is helpful for batch processing of account modifications.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "update_accounts_request_body",
"required": false,
"description": "JSON object containing account IDs, custom fields, owner ID, tags, and tags apply mode for updating multiple accounts.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_ids": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be updated on the accounts."
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of tags to be updated on the accounts."
},
"tags_apply_mode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\"."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateAccounts'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/accounts",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "requestBody",
"tool_parameter_name": "update_accounts_request_body",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_ids": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be updated on the accounts."
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of tags to be updated on the accounts."
},
"tags_apply_mode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\"."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_ids\": {\n \"description\": \"The account IDs to update. The number of accounts to update must be between 1 and 100.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AccountIDs\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be updated on the accounts.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"owner_id\": {\n \"description\": \"The ID of the new owner. If empty string is passed in, the owner will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"tags\": {\n \"description\": \"An array of tags to be updated on the accounts.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"tags_apply_mode\": {\n \"description\": \"The mode for applying tags. Valid values: \\\"append_only\\\", \\\"remove_only\\\", \\\"replace\\\". Defaults to \\\"replace\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"TagsApplyMode\"\n }\n },\n \"required\": [\n \"account_ids\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,482 @@
{
"name": "UpdateProject",
"fully_qualified_name": "PylonApi.UpdateProject@0.1.0",
"description": "Update the details of an existing project.\n\nUse this tool to modify the information of an existing project by providing the project ID and necessary updates.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "project_id",
"required": true,
"description": "The unique identifier of the project to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "project_name",
"required": false,
"description": "The new name for this project. Provide a descriptive title to identify the project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "name"
},
{
"name": "project_description_html",
"required": false,
"description": "HTML formatted description for the project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "description_html"
},
{
"name": "start_date_rfc3339",
"required": false,
"description": "The start date for the project, formatted in RFC 3339. This specifies when the project begins.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "start_date"
},
{
"name": "project_end_date",
"required": false,
"description": "The end date for the project in RFC 3339 format.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "end_date"
},
{
"name": "project_owner_id",
"required": false,
"description": "The unique identifier of the owner of this project. Required to assign an owner when updating a project.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "owner_id"
},
{
"name": "project_update_details",
"required": false,
"description": "A JSON object containing the project's update details such as name, description, visibility, dates, owner ID, and archive status.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"description_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"end_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"is_archived": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"start_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
},
{
"name": "is_customer_portal_visible",
"required": false,
"description": "Indicate if the project should be visible in the customer portal (true for visible, false for hidden).",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"inferrable": true,
"http_endpoint_parameter_name": "customer_portal_visible"
},
{
"name": "is_project_archived",
"required": false,
"description": "Set to True if the project is archived, False if it is active.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"inferrable": true,
"http_endpoint_parameter_name": "is_archived"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateProject'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/projects/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "name",
"tool_parameter_name": "project_name",
"description": "Name for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "description_html",
"tool_parameter_name": "project_description_html",
"description": "Description HTML for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "customer_portal_visible",
"tool_parameter_name": "is_customer_portal_visible",
"description": "Customer portal visible for this project",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "start_date",
"tool_parameter_name": "start_date_rfc3339",
"description": "Start date for this project, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "end_date",
"tool_parameter_name": "project_end_date",
"description": "End date for this project, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "owner_id",
"tool_parameter_name": "project_owner_id",
"description": "Owner ID for this project",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "is_archived",
"tool_parameter_name": "is_project_archived",
"description": "Whether the project is archived",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "id",
"tool_parameter_name": "project_id",
"description": "The ID of the project to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "project_update_details",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"description_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"end_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"is_archived": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"start_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"customer_portal_visible\": {\n \"description\": \"Customer portal visible for this project\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"description_html\": {\n \"description\": \"Description HTML for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"DescriptionHTML\"\n },\n \"end_date\": {\n \"description\": \"End date for this project, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"EndDate\"\n },\n \"is_archived\": {\n \"description\": \"Whether the project is archived\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsArchived\"\n },\n \"name\": {\n \"description\": \"Name for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"owner_id\": {\n \"description\": \"Owner ID for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"start_date\": {\n \"description\": \"Start date for this project, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"StartDate\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}

View file

@ -0,0 +1,376 @@
{
"name": "UpdateTask",
"fully_qualified_name": "PylonApi.UpdateTask@0.1.0",
"description": "Update the details of an existing task.\n\nUse this tool to modify the information of a specific task by providing its ID. Ideal for updating any details like status, description, or due date.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "task_id",
"required": true,
"description": "The unique ID of the task you want to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "assignee_id",
"required": false,
"description": "The ID of the person assigned to this task. It should be a string representing a valid user ID within the system.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "assignee_id"
},
{
"name": "task_body_html",
"required": false,
"description": "HTML content for the task's body. This defines the main description or details of the task.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "body_html"
},
{
"name": "task_due_date",
"required": false,
"description": "Due date for the task in RFC 3339 format, e.g., '2023-12-31T23:59:59Z'.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"inferrable": true,
"http_endpoint_parameter_name": "due_date"
},
{
"name": "milestone_identifier",
"required": false,
"description": "Specify the Milestone ID associated with the task to update its milestone.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "milestone_id"
},
{
"name": "project_id",
"required": false,
"description": "The unique identifier of the project associated with this task. Required to specify which project's task is being updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "project_id"
},
{
"name": "task_status",
"required": false,
"description": "Specify the task status: `not_started`, `in_progress`, or `completed`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted"
},
"inferrable": true,
"http_endpoint_parameter_name": "status"
},
{
"name": "task_title",
"required": false,
"description": "The new title for the task. Provide a clear and concise title for better understanding.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "title"
},
{
"name": "customer_portal_visible",
"required": false,
"description": "Set to true to make the task visible on the customer portal. Accepts a boolean.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"inferrable": true,
"http_endpoint_parameter_name": "customer_portal_visible"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateTask'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/tasks/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "task_id",
"description": "The ID of the task to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "assignee_id",
"tool_parameter_name": "assignee_id",
"description": "Assignee ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "body_html",
"tool_parameter_name": "task_body_html",
"description": "Body HTML for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "customer_portal_visible",
"tool_parameter_name": "customer_portal_visible",
"description": "Customer portal visible for this task",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "due_date",
"tool_parameter_name": "task_due_date",
"description": "Due date for this task, in RFC 3339 format",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "milestone_id",
"tool_parameter_name": "milestone_identifier",
"description": "Milestone ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "project_id",
"tool_parameter_name": "project_id",
"description": "Project ID for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "status",
"tool_parameter_name": "task_status",
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "title",
"tool_parameter_name": "task_title",
"description": "Title for this task",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"assignee_id\": {\n \"description\": \"Assignee ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"body_html\": {\n \"description\": \"Body HTML for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"customer_portal_visible\": {\n \"description\": \"Customer portal visible for this task\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"due_date\": {\n \"description\": \"Due date for this task, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"DueDate\"\n },\n \"milestone_id\": {\n \"description\": \"Milestone ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"MilestoneID\"\n },\n \"project_id\": {\n \"description\": \"Project ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"ProjectID\"\n },\n \"status\": {\n \"description\": \"Status for this task\\n\\n* not_started TaskStatusNotStarted\\n\\n* in_progress TaskStatusInProgress\\n\\n* completed TaskStatusCompleted\",\n \"enum\": [\n \"not_started\",\n \"in_progress\",\n \"completed\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"not_started TaskStatusNotStarted\\nin_progress TaskStatusInProgress\\ncompleted TaskStatusCompleted\",\n \"x-go-name\": \"Status\"\n },\n \"title\": {\n \"description\": \"Title for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,170 @@
{
"name": "UpdateUserProfile",
"fully_qualified_name": "PylonApi.UpdateUserProfile@0.1.0",
"description": "Update a user's profile information.\n\nThis tool updates the information of a user identified by a specific ID. It should be called when changes to a user's profile are needed, such as updating personal details or contact information.",
"toolkit": {
"name": "PylonApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "user_id",
"required": true,
"description": "The unique identifier of the user to be updated.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to update."
},
"inferrable": true,
"http_endpoint_parameter_name": "id"
},
{
"name": "user_role_id",
"required": false,
"description": "The role ID to assign to the user.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The role_id of the user."
},
"inferrable": true,
"http_endpoint_parameter_name": "role_id"
},
{
"name": "user_status",
"required": false,
"description": "The updated status for the user. Options: `active`, `away`, or `out_of_office`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`."
},
"inferrable": true,
"http_endpoint_parameter_name": "status"
}
]
},
"output": {
"description": "Response from the API endpoint 'UpdateUser'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "PYLON_SECRET_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the pylon API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.usepylon.com/users/{id}",
"http_method": "PATCH",
"headers": {},
"parameters": [
{
"name": "id",
"tool_parameter_name": "user_id",
"description": "The ID of the user to update.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to update."
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "role_id",
"tool_parameter_name": "user_role_id",
"description": "The role_id of the user.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The role_id of the user."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "status",
"tool_parameter_name": "user_status",
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "PYLON_SECRET_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"role_id\": {\n \"description\": \"The role_id of the user.\",\n \"type\": \"string\",\n \"x-go-name\": \"RoleID\"\n },\n \"status\": {\n \"description\": \"The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Status\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}

View file

@ -0,0 +1,60 @@
[build-system]
requires = [ "hatchling",]
build-backend = "hatchling.build"
[project]
name = "pylon_api"
version = "0.1.0"
description = "Tools that enable LLMs to interact directly with the pylon API."
requires-python = ">=3.10"
dependencies = [
"arcade-tdk>=3.0.0,<4.0.0",
"httpx[http2]>=0.27.2,<1.0.0",
"jsonschema>=4.0.0,<5.0.0",
]
[[project.authors]]
email = "support@arcade.dev"
[project.optional-dependencies]
dev = [
"arcade-mcp[all]>=1.2.0,<2.0.0",
"arcade-serve>=3.0.0,<4.0.0",
"pytest>=8.3.0,<8.4.0",
"pytest-cov>=4.0.0,<4.1.0",
"pytest-mock>=3.11.1,<3.12.0",
"pytest-asyncio>=0.24.0,<0.25.0",
"mypy>=1.5.1,<1.6.0",
"pre-commit>=3.4.0,<3.5.0",
"tox>=4.11.1,<4.12.0",
"ruff>=0.7.4,<0.8.0",
]
# Use local path sources for arcade libs when working locally
[tool.uv.sources]
arcade-mcp = { path = "../../", editable = true }
arcade-serve = { path = "../../libs/arcade-serve/", editable = true }
arcade-tdk = { path = "../../libs/arcade-tdk/", editable = true }
# Tell Arcade.dev that this package is a toolkit
[project.entry-points.arcade_toolkits]
toolkit_name = "pylon_api"
[tool.mypy]
files = [ "pylon_api/**/*.py",]
python_version = "3.10"
disallow_untyped_defs = true
disallow_any_unimported = true
no_implicit_optional = true
check_untyped_defs = true
warn_return_any = true
warn_unused_ignores = true
show_error_codes = true
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = [ "tests",]
[tool.coverage.report]
skip_empty = true
[tool.hatch.build.targets.wheel]
packages = [ "pylon_api",]

View file