Render Chart

quickchart.render_chart
ActionBusiness appsconnection required

Calls the QuickChart API with the connection's credentials.

Render a Chart.js configuration to an image and emit it as a base64 file blob a storage, mail or Slack node can take straight from the wire.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
QuickChart
Secret shape
the API key, or {"api_key": "…"} — optional, since QuickChart's free tier and a self-hosted instance need none
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
chart
The Chart.js configuration to render. Send an object for a plain JSON config; a string is forwarded verbatim, which is how QuickChart accepts a config carrying JavaScript such as a label formatter.
objectYes—≥ 1 characters{"data":{"datasets":[{"data":[50,60,70,180],"label":"Revenue"}],"labels":["Q1","Q2","Q3","Q4"]},"type":"bar"}
width
Width of the rendered image in pixels.
numberNo500≥ 1—
height
Height of the rendered image in pixels.
numberNo300≥ 1—
format
File format QuickChart should render the chart in.
stringNopngone of "png", "svg", "webp", "jpg", "pdf"—
background_color
Canvas background behind the chart, as a colour name, hex, rgb() or hsl() value. QuickChart leaves it transparent when this is empty.
stringNo——white
version
Chart.js version to render with — '2', '3', '4' or an exact version. Leave empty for the QuickChart default.
stringNo——4
device_pixel_ratio
Resolution multiplier applied to the width and height, for retina-quality output.
numberNo2≥ 1—
filename
Name to give the rendered file on the wire. Defaults to the node's subject and the chosen format, such as chart.png.
stringNo——chart.png

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "background_color": "white",
  "chart": {
    "data": {
      "datasets": [
        {
          "data": [
            50,
            60,
            70,
            180
          ],
          "label": "Revenue"
        }
      ],
      "labels": [
        "Q1",
        "Q2",
        "Q3",
        "Q4"
      ]
    },
    "type": "bar"
  },
  "device_pixel_ratio": 2,
  "filename": "chart.png",
  "format": "png",
  "height": 300,
  "version": "4",
  "width": 500
}

Output

One shape.

result

FieldTypeExample
file_content
The file, base64-encoded.
string—
content_encoding
stringbase64
filename
stringapp-main.zip
content_type
stringapplication/zip
size
Raw size in bytes (before base64).
number—
{
  "content_encoding": "base64",
  "content_type": "application/zip",
  "file_content": "",
  "filename": "app-main.zip",
  "size": 0
}

See Render Chart run in a workflow.

In a technical demo we add the QuickChart connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.