---
title: "Image-Charts Integration"
description: "Render chart images on demand from a single URL with Image-Charts, turning numbers, Chart.js configurations, DOT graphs, or plain text into PNG, GIF, or SVG. Agents embed live visuals in email and chat where JavaScript cannot run."
url: https://flowrunner.ai/integrations/image-charts
date_modified: 2026-08-07T17:20:23-07:00
---

# Image-Charts

[Developer Tools](https://flowrunner.ai/integrations/category/developer-infrastructure)

Render chart images on demand from a single URL with Image-Charts, turning numbers, Chart.js configurations, DOT graphs, or plain text into PNG, GIF, or SVG. Agents embed live visuals in email and chat where JavaScript cannot run.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 6 actions · API key · available

[Platform Documentation](https://www.image-charts.com/) · Capability data verified 2026-08-04

1.  The Monday schedule fires for the operations digest
2.  Agent queries the warehouse for the week's throughput, open backlog, and SLA attainment
3.  Agent calls Create Chart for the throughput series and Create Progress Bar for SLA attainment
4.  Agent checks whether any series in the digest is flagged as customer identifiable
5.  Agent attaches the stored PNG copies to the digest instead of embedding the hosted chart URLs
6.  Agent posts the digest to the operations channel and emails the leadership list
7.  One series does contain named accounts, so the agent asks the ops lead whether that chart ships as a link, as an attachment, or not at all

## What This Integration Enables

Email clients and chat clients cannot run JavaScript. That single constraint is why a live chart in a newsletter, a Slack digest, or a generated PDF has to be a rendered image, and it is the constraint Image-Charts is built around. It renders a chart from a single URL, as a modern replacement for the retired Google Image Charts API, and returns both a permanent embeddable chart URL and a stored copy of the rendered file. Nothing has to run in the recipient's client, because nothing is left to run.

The chart family is unusually wide for a URL-based renderer: grouped and stacked bars, lines, sparklines, scatter, pie, doughnut, concentric pie, polar area, radar, and bubble, with titles, value labels, legends, series colors, axes, grid lines, backgrounds, margins, and GIF animation all configurable. Beyond charts it renders progress bars for loyalty, onboarding, and goal tracking, QR codes from arbitrary UTF-8 text, and GraphViz DOT diagrams for org charts, dependency maps, and state machines. An existing Chart.js configuration renders as a static image without a headless browser anywhere in the picture. FlowRunner agents use all of it as the last mile of a reporting flow, and stop before the delivery choice that carries risk.

### Without FlowRunner

**Dashboards nobody opens**: The numbers live behind a login that leadership visits when something is already wrong

**Screenshots of screenshots**: Someone captures the dashboard by hand each week and pastes it into the update

**Data pasted into links**: Chart links get shared without anyone asking who else can read what is in them

### With FlowRunner

**Numbers in the channel**: The chart arrives where the team already reads, rendered from this week's data

**Produced by the flow**: The digest builds itself from the source of record on a schedule

**Delivery is a decision**: The agent distinguishes a public link from a stored attachment and escalates when it matters

## Use Case Scenarios

### The weekly operations digest that builds itself

An agent queries [BigQuery](https://flowrunner.ai/integrations/bigquery) every Monday for throughput, backlog, and SLA attainment, renders a stacked bar chart with Create Chart and an attainment indicator with Create Progress Bar, and posts both into [Slack](https://flowrunner.ai/integrations/slack) and [Microsoft Teams](https://flowrunner.ai/integrations/microsoft-teams) as image attachments. The same images go into the leadership email. Nobody screenshots a dashboard, and the figures in chat and the figures in the inbox are the same render rather than two people's interpretations of the same board.

### Progress indicators inside lifecycle email

A loyalty program wants members to see how close they are to the next tier without clicking through. On each send, the agent calls Create Progress Bar with that member's completion percentage and drops the resulting image into the email built in [Mailchimp](https://flowrunner.ai/integrations/mailchimp-marketing). The bar is a real image rendered per recipient, so it displays in clients that strip scripts, block remote content selectively, or render in plain text mode with the image intact.

### Tickets, labels, and the diagram of how work escalates

For an event managed in [Eventbrite](https://flowrunner.ai/integrations/eventbrite), the agent calls Create QR Code per registration and attaches the code to the confirmation email, with the stored PNG kept in file storage as the durable copy. A separate flow renders the current on-call escalation path with Create Graph Diagram from a DOT definition generated out of the roster, and posts it to the operations channel whenever the roster changes. The diagram is always the roster as it stands, not a slide someone last edited in March.

## Human-in-Loop Highlight

An Image-Charts chart is a URL, and the data is in the URL. That is the whole design, and it is what makes the connector work in email and chat, but it also means the figures travel in the query string of a permanent, embeddable link. Anyone who has the link can read the series. Mail gateways, link scanners, and preview bots fetch it as a matter of routine. Sign Chart URL adds an HMAC signature so the link cannot be altered and paid features unlock, and it is worth being precise about what signing does and does not do: it proves the URL was not tampered with. It does not make the numbers inside it private.

So when a chart is built from a series the flow has flagged as restricted, the agent stops before it publishes the link. It posts to the operations channel: "The account-level churn chart for the exec digest contains 14 named customers. Embedding it means a permanent public URL carrying those names. I can instead attach the stored PNG to the email and Slack post and never publish a link, which keeps the chart inside the channels you control. Attach, publish the link anyway, or drop the chart from this week's digest?" The ops lead answers in the channel and the digest continues. This is [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) doing the job it exists for: the agent knows the difference between rendering a chart and disclosing what is in it, and it refuses to make the second decision alone.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via Slack

Human decides

Agent resumes with decision

## Agent Capabilities

6 actions

### Charts

3

-   **Create Chart** Renders a static chart image from raw data series and returns both a permanent embeddable chart URL and a stored copy of the rendered PNG or animated GIF. Covers grouped and stacked bars, lines, sparklines, scatter, pie, doughnut, concentric pie, polar area, radar, and bubble, with control over size, title, value labels, legend, series colors, axes, grid lines, background fill, margins, and animation.
-   **Create Progress Bar** Renders a horizontal progress bar showing a completion percentage, built as a stacked bar with the axes suppressed. Used for loyalty tiers, onboarding completion, and goal tracking indicators embedded directly in emails and chat messages.
-   **Create Chart From Chart.js Config** Renders a full Chart.js configuration object as a static image, giving access to the complete Chart.js feature set including datasets, scales, tooltips, data labels, and rounded bars, without running a browser. The configuration is base64 encoded into the request so large definitions stay within URL limits. JavaScript callback values are not supported.

### Codes and Diagrams

2

-   **Create QR Code** Generates a QR code from arbitrary UTF-8 text such as a URL, phone number, or contact card, and returns an embeddable URL plus a stored PNG or SVG. Supports the four standard error correction levels, a configurable quiet zone, and custom foreground and background colors.
-   **Create Graph Diagram** Renders a connectivity graph written in GraphViz DOT into a PNG or SVG, with a choice of five layout engines. Used for org charts, dependency maps, state machines, and escalation paths that should be generated from current data rather than maintained by hand.

### URL Signing

1

-   **Sign Chart URL** Signs an existing chart URL with the configured account id and secret key so the render is watermark free and paid features such as retina output and multiple axes unlock. Signing happens locally, so no API call is made and no quota is consumed. Used to publish charts designed in the Image-Charts editor or assembled elsewhere in the flow without downloading the image first.

## Frequently Asked Questions

### What can FlowRunner do with Image-Charts?

FlowRunner agents can run Create Chart, Create Progress Bar, and Create QR Code in Image-Charts, plus 3 more actions.

### Does connecting Image-Charts to FlowRunner require OAuth?

No. Image-Charts connects to FlowRunner with an API key, no OAuth flow required.

### Can Image-Charts trigger a FlowRunner workflow automatically?

Image-Charts doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Image-Charts?** This integration exposes Image-Charts to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/image-charts. Site index: https://flowrunner.ai/llms.txt
