> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# charting

> Deploy Chart.js visualizations to shareable URLs

**Server path:** `/charting` | **Type:** Embedded | **PCID required:** No

## Tools

| Tool                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`charting_deploy_chart`](#charting_deploy_chart) | Deploy a pre-built Chart.js visualization to a shareable URL.<br />WHEN TO USE: User explicitly wants a hosted/shareable chart link (e.g., "deploy this chart", "give me a URL", "host this visualization").<br />NOT FOR: Creating charts - that's done in code-block nodes using guidance from the system prompt. This tool only handles deployment.<br />REQUIRES: collectionId - filestorage collection to store the deployed chart (use \{\{resource.collectionName}}).<br />DATA-DRIVEN CHARTS: If your HTML contains \{\{DATA\_URL}} placeholder, provide sdk\_file\_id or filestorage\_id to resolve it. |

***

## charting\_deploy\_chart

Deploy a pre-built Chart.js visualization to a shareable URL.

WHEN TO USE: User explicitly wants a hosted/shareable chart link (e.g., "deploy this chart", "give me a URL", "host this visualization").

NOT FOR: Creating charts - that's done in code-block nodes using guidance from the system prompt. This tool only handles deployment.

REQUIRES: collectionId - filestorage collection to store the deployed chart (use \{\{resource.collectionName}}).

DATA-DRIVEN CHARTS: If your HTML contains \{\{DATA\_URL}} placeholder, provide sdk\_file\_id or filestorage\_id to resolve it.

**Parameters:**

| Parameter                   | Type   | Required | Default        | Description                                                                                                                                                                                                                                                                                      |
| --------------------------- | ------ | -------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `html_content`              | string | Yes      | —              | Required: The Chart.js HTML code to deploy. Include \{\{DATA\_URL}} placeholder if your chart needs to fetch external data.                                                                                                                                                                      |
| `collectionId`              | string | Yes      | —              | REQUIRED: Collection ID to store the deployed chart file. In workflows, declare a filestorage collection resource in WORKFLOW\_RESOURCES (e.g., myCharts: \{ type: "collection", collectionType: "filestorage" }), bind it via workflow\_bind\_resources, then use \{\{resource.myCharts}} here. |
| `sdk_file_id`               | string | No       | —              | Supply data to your chart: File ID from pf.files.writeFile() to resolve for \{\{DATA\_URL}}. Format: automationId/runId/nodeId/filename. NOTE: The resolved S3 URL expires after approximately 15 minutes, so the deployed HTML should fetch the data immediately when loaded.                   |
| `filestorage_id`            | string | No       | —              | Supply data to your chart (preferred): File ID from filestorage MCP tool response to resolve for \{\{DATA\_URL}}. Expiration depends on how the file was uploaded (can range from 1 minute to public/never).                                                                                     |
| `output_filename`           | string | No       | `"chart.html"` | Optional: Name for the output chart file (default: "chart.html")                                                                                                                                                                                                                                 |
| `file_links_expire_in_days` | string | No       | `7`            | Number of days before the chart URL expires (1-30), or "never" for a public URL with no expiration (default: 7)                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "html_content": {
        "type": "string",
        "description": "Required: The Chart.js HTML code to deploy. Include {{DATA_URL}} placeholder if your chart needs to fetch external data."
      },
      "collectionId": {
        "type": "string",
        "description": "REQUIRED: Collection ID to store the deployed chart file. In workflows, declare a filestorage collection resource in WORKFLOW_RESOURCES (e.g., myCharts: { type: \"collection\", collectionType: \"filestorage\" }), bind it via workflow_bind_resources, then use {{resource.myCharts}} here."
      },
      "sdk_file_id": {
        "type": "string",
        "description": "Supply data to your chart: File ID from pf.files.writeFile() to resolve for {{DATA_URL}}. Format: automationId/runId/nodeId/filename. NOTE: The resolved S3 URL expires after approximately 15 minutes, so the deployed HTML should fetch the data immediately when loaded."
      },
      "filestorage_id": {
        "type": "string",
        "description": "Supply data to your chart (preferred): File ID from filestorage MCP tool response to resolve for {{DATA_URL}}. Expiration depends on how the file was uploaded (can range from 1 minute to public/never)."
      },
      "output_filename": {
        "type": "string",
        "default": "chart.html",
        "description": "Optional: Name for the output chart file (default: \"chart.html\")"
      },
      "file_links_expire_in_days": {
        "oneOf": [
          {
            "type": "number"
          },
          {
            "type": "string",
            "const": "never"
          }
        ],
        "default": 7,
        "description": "Number of days before the chart URL expires (1-30), or \"never\" for a public URL with no expiration (default: 7)"
      }
    },
    "required": [
      "html_content",
      "collectionId"
    ]
  }
  ```
</Expandable>
