Skip to content
Console
Browse documentation
Guide

Charts in your conversation

Read stored analytics and service-health snapshots with exact evidence and bounded viewer or PNG output.

On this page

Your agent can request a picture of a stored measurement while keeping its complete authorized text, structured evidence and proof link. Each picture uses the same authorized answer as its evidence and grants no additional access.

Read the stored answer

Ask your agent to read get_analytics_result, or use anectico analytics result get <result-id>. Use the returned Analytics result link to open the read-only proof page. Reading a stored answer needs analytics and person read permission, plus the permissions required by its sources. Account results also require groups:read. Reading an answer does not require permission to start a new measurement. MCP reads once unless wait_millis is explicitly supplied, up to 25000 ms. Ordinary CLI JSON waits up to 20 seconds by default; --wait 0s reads once. PNG reads once unless waiting is explicitly requested. Every mode polls only the existing result.

Request a picture

Call get_analytics_result with project_id, result_id and include_image set to true for PNG. False requests no PNG. If omitted, PNG is attempted unless this request advertises the supported Apps viewer. The viewer supports bounded trends, funnels, retention, qualified service-health snapshots, person timeline pages and product experiment results with their exact-value tables. Stored-result PNG supports a READY current-period trend with one series, no breakdown, formula or comparison, and at most 366 complete intervals within 128 KiB of presentation data. The PNG is exactly 960 × 540 and at most 256 KiB. Every interval is retained. Null values are gaps, tiny values remain meaningful, and the whole-window headline is independent of its buckets. Units, windows, coverage, unresolved identity and snapshot limits accompany the measurement.

Supported pictures

A host may support tools, images or Apps differently. Check the dated host observations for what has actually been seen. Your agent must retain useful text and any returned proof link when the host cannot show the picture.

Authorized read Apps picture PNG Data and proof fallback
Stored trend READY, one current series, no breakdown, formula or comparison, at most 366 buckets Same bounded shape when native labels and qualifications fit Complete stored answer and its returned Analytics result link
Stored funnel Bounded ordered steps, outcomes, comparison, breakdown and requested timing and entry trends Refuses native_layout_unsupported Complete stored answer and its returned Analytics result link
Stored retention Bounded cohorts, cells, closure and weighted ratios Refuses native_layout_unsupported Complete stored answer and its returned Analytics result link
Stored engagement, paths, correlation, web, revenue, survey or heatmap Unsupported Unsupported Each keeps its complete authorized typed answer and returned Analytics result link
Service-health top list Qualified requested and effective window and exact selected rows When the whole layout fits Selected data with units, counts and window limits; no dedicated proof link
Named service series or explicit wait Unavailable series window; unsupported wait picture Refuses Ordinary series or wait evidence; oldest-prefix disclosure on MCP; no dedicated proof link
Person timeline Exactly one returned page When the whole page fits Page data and only a returned canonical-person proof link, which may show a different window
Product experiment Descriptive running or observing counts or supplied final result; terminal state withdraws efficacy When the whole layout fits Authorized experiment facts; no experiment proof link

A ready browser picture can have a refused PNG. Unsupported layouts and lifecycle refusals never justify a new measurement, participant build, extra page, automatic wait or refresh. Labels remain untrusted recorded data. Rendering requires the ordinary owning read permissions and current source and content permissions; the render and output flags grant none. MCP also needs mcp:read. The static viewer is permission to receive a template, never permission to read customer data.

The 512 KiB viewer, 128 KiB presentation, 366-bucket first trend, 960 × 540 and 256 KiB PNG, 2 MiB complete tool result, four concurrent renders per server instance and 500 ms render ceiling are provisional engineering limits, not measured host performance or plan allowances.

Funnel pictures

The picture keeps steps in definition order, with exact counts. Observed conversion and mature conversion have different denominators: 4 converted from 10 entrants means 4/10 observed; 3 converted among 6 mature entrants means 3/6 mature. Each uses its own returned fraction and state.

Pending and indeterminate entrants are not mature failures. Candidate-limited chains were not searched; they have no inferred later step or duration. Candidate limitation and unresolved identity are separate facts. An absent mature denominator is unavailable, never 0% conversion.

Current and comparison windows stay separate. Typed breakdown values, missing properties, explicit nulls, invalid values and omitted groups keep their own populations. Breakdown qualifications say whether a value was recorded at event time or read from a profile at measurement time.

When requested, converted-only timing keeps exact duration percentiles in milliseconds and half-open histogram ranges. Entry-period conversion trends group by first eligible entry, even when completion happened later.

Retention pictures

Each cell retains its original cohort denominator, exact entry and return intervals, return period, closure and coverage. A calendar month is civil, rather than a fixed number of days. Exact-period and on-or-after criteria differ: on-or-after stays immature until its full declared return horizon closes. A bounding envelope may contain gaps; the exact intervals define membership.

Measured zero, immature, no denominator, insufficient evidence and unavailable are separate states, with distinct text and colors. An open period may have descriptive observed returns while its rate remains unavailable. When an observed count is absent, it stays absent.

Weighted ratios come from the stored answer. For cohorts with 1/2 and 9/90 returns, the combined eligible fraction is 10/92, not an average of the two percentages. Immature and withheld cells do not enlarge that denominator.

Accounts, limits and lifetime

An account result counts accounts. Each event uses its account key at event time; different members may complete steps or return for the account. The picture retains attributed and missing-event quality and makes no individual conversion or retention claim.

Pictures retain all returned groups and qualifications within a 128 KiB presentation limit. They never sample cohorts or discard steps to fit. A refused picture leaves the authorized typed answer and proof link useful. The proof page keeps its existing presentation for broader results.

Funnel and retention pictures use the Apps viewer and proof page. PNG currently refuses those two kinds with native_layout_unsupported. Native PNG supports the bounded trend, qualified service-health snapshot, timeline page and experiment shapes described here.

Understand refusals

The separate anectico/image_outcome metadata says whether PNG was not_requested, ready, unsupported, too_large or unavailable. A refused attempt includes image_reason. A PNG layout, size, capacity or deadline refusal preserves a valid viewer and useful evidence. If the complete answer exceeds 2 MiB, tool_result_too_large replaces it with a bounded error and an authorized proof link where available. It never silently cuts the evidence into a smaller answer.

A non-ready, expired, withdrawn or unsupported result has no successful image. Labels and required qualifications must fit legibly; otherwise use the full evidence and proof link.

Save through the CLI

anectico analytics result get <result-id> --render png --out result.png

Both flags are required. The image command reads once unless you explicitly add --wait 10s. Waiting polls the existing status, then requests a fresh authorized image; it never reruns the measurement. Only a validated, complete PNG atomically replaces the destination. A refusal, interrupted transfer or invalid image leaves an existing file intact.

REST clients select format=png on the existing stored-result read. Success is image/png with Cache-Control:no-store; refusals are safe JSON errors. Omitted format keeps the JSON read and its conditional-read policy. See REST API.

Delivered snapshots and host support

Stored analytics pictures retain their measurement time, read time and original expiry, and hide expired values locally. Service-health pictures retain their read time, without inventing a stored measurement or expiry. Every new read checks current permissions and source validity. Previously delivered chat copies, screenshots and downloads cannot be recalled after withdrawal, deletion or access changes. A host receiving image content does not prove that its owner saw an attachment. Installed host rendering remains separately qualified; your agent must keep the evidence and proof-link fallback.

Service-health snapshots

Call get_service_health with your project, environment and an explicit window. Omit service for a snapshot. sort_by, sort_order, health_filter, service_match and limit choose a bounded top list. The picture shows exactly that returned list, its applied selectors and eligible, matched, returned and omitted service counts. Counts remain exact decimal strings. There is no next page.

Activity means entry spans per second, including request handlers, consumers and root jobs. Error rate is a fraction: 0.125 means 12.5 percent. Snapshot p50 and p95 are duration measurements in milliseconds. These observations do not establish application availability, and snapshot latency is never copied into a time series.

Read the covered service window

The picture states the requested and effective windows, history boundary, coverage state, project and environment. A workspace-wide read says it spans permitted workspace projects. A shortened window covers only its retained portion. A window outside retention has no measured picture; it is distinct from an empty retained read. Upstream completeness remains unknown even when the retained window was read completely.

A named service's ordinary activity and error series still works. MCP returns at most the oldest 96 buckets, with returned and total counts and an oldest-first cut. Recent buckets may be omitted. That prefix cannot describe recent whole-window health. The current series read does not report its effective retained window, so its Apps picture and PNG are explicitly unavailable. Explicit wait mode also has an unsupported picture card; pictures never start another wait or refresh.

Save a service PNG

MCP include_image: true requests a bounded PNG; false suppresses it. When omitted, the server attempts PNG unless the current request advertises Apps HTML support. Text and evidence remain available in every case.

anectico services list --project PROJECT_UUID --since 1h --env production \
  --sort-by p95_ms --limit 1 --render png --out checkout-health.png

services red SERVICE --render png --out FILE uses the same download contract, and currently refuses the unqualified series window. Ordinary output remains the default. PNGs are 960 by 540 pixels, at most 256 KiB. An oversized layout refuses the image without hiding a valid Apps picture or cutting the list again. Choose a smaller top list only when that is the question you intend to ask. The CLI validates the entire image and publishes a complete new private file atomically; existing files are refused and preserved. There is no service-health proof URL.

Service access and delivered copies

Service reads need services:read; MCP also needs mcp:read. Rendering requires no additional permission or paid chart tier. It uses the same authorized response as the ordinary evidence and performs no additional measurement.

Each picture is a snapshot labeled with its read time. Service health has no stored measurement ID or expiry to display. The frame receives no credential, provides no write or navigation control and makes no refresh request. Fresh server reads check access again. Erasure or permission loss cannot recall transcripts, screenshots or downloaded PNGs already delivered to a host or saved by a person.

Timeline pages and product experiments

get_person_timeline pictures one authorized returned page under the credential's project boundary; its MCP input has no project override. Keep the returned identity and project. MCP caps the page at 30; the CLI defaults to 50. Select --limit, --before, --since, --until and explicit --count-total deliberately. Tied timestamps keep separate item_id occurrences. Page length and an optional counted-window total are different facts; a partial source or withheld field remains explicit. A person proof link does not promise the same window. No picture follows a cursor or turns on counting automatically. A long unbroken value on the page, such as the next-page cursor, an identity key or an ID, is wrapped across lines in the PNG with every character kept; read it from the data, not the picture. Use anectico persons timeline <identity> --render png --out timeline.png for a bounded download.

get_experiment_result keeps running and observing counts descriptive. Final results retain the returned inference, sample-ratio check, decision and evidence limitations. Canceled or invalidated results withdraw efficacy. Use anectico experiments result <key> --render png --out experiment.png. These reads require their existing permissions and never finalize or reconcile a run. An image refusal preserves a valid viewer and the authorized evidence. Existing destinations are refused for timeline, service and experiment downloads.

Local sandbox checks are separate from qualification in your installed chat host. Your agent must retain text and any authorized proof link when the host cannot show the picture. A delivered picture grants no permission to call tools, open links or send messages from the frame.

When the host cannot show the view

Use the structured source answer and its trust markings, exact IDs, units, windows, coverage and expiry. Give only the proof link actually returned, or the documented CLI command for that read. A host with image support can request include_image: true even when it also supports Apps; false suppresses PNG; omission attempts PNG unless this request positively advertises the supported Apps MIME type. Missing capabilities mean unknown support. No host name determines this. Every picture read reports image_outcome in structured content and image_status in text; a refusal also supplies image_reason. Success says “PNG image attached” and includes the image. native_layout_unsupported means the PNG layout or label glyphs cannot be rendered; an otherwise ready view and the result data remain available. Explicit suppression reports not_requested. If PNG refuses, state its returned reason and keep the data fallback above. Model image input, resource arrival and an inline attachment are separate observations; none proves that you saw or read it. A delivered frame or image is not a signed-in proof-page open and records no such event.