Skip to content

Sharing a Canvas

Send a Canvas to a teammate, attach it to a ticket, or post it to Slack. The integration paths go through chat — you ask Escher to do the send, the attach, the post — there are no per-Canvas "Send to" buttons.

Design intent vs shipped

The Canvas export and integration flows are evolving. The patterns below describe how sharing works today via the integrations agent (verified in v4-integrations-agent-go). A future revision may add per-Canvas affordances; if your build differs, ping your Tessell contact or use Edit on GitHub (admin mode) to flag the mismatch.


Three ways to share

1. Export the file and send it yourself

The simplest path: export the Canvas as PDF (JSON and Markdown formats are on the roadmap — see Export a Canvas) — then send the file via email, Slack, or your usual channel.

This is the right approach when:

  • You're sharing with someone outside the team (an auditor, an exec, a customer)
  • The recipient doesn't have Escher
  • You want a snapshot that won't change later

See Canvas Export for the format details and redaction options.

2. Ask Escher to post to Slack

If Slack is connected, ask Escher in chat to share the current Canvas:

"Post this Canvas to #escher-alerts."

"Share the conclusion in #ops with a link back here."

Escher classifies the request as a Slack action, formats the message as Block Kit, and posts it to your workspace using your stored bot token. You can specify the channel, the level of detail (just the conclusion, the full finding list, etc.), and any callouts you want included.

See Slack integration for the underlying flow and setup.

3. Ask Escher to attach it to a ticket

If Jira, Linear, or GitHub is set up, ask Escher to create or update a ticket from the Canvas:

"Create a Jira ticket in INFRA from this Canvas. Map severity to priority."

"Open a Linear issue in the SRE team for the top finding here, with the evidence chain in the description."

"Add a comment to GitHub issue #847 with this Canvas's conclusion and the affected resources."

Escher generates a Python script that uses the corresponding API (Jira REST, Linear GraphQL, GitHub REST/GraphQL) and runs it from your machine using your stored credentials. Each request produces a fresh script — there's no saved field-mapping engine and no two-way status sync between Escher and the ticket system.

See Jira integration, Linear integration, and GitHub integration for setup details.


Sharing within Escher (team plans)

On Team and Enterprise plans, every team member sees the same connected accounts and the same Canvas library. The specific affordances for browsing other team members' Canvases, in-app mentions, and Canvas-level commenting are still being refined — what's available in your build depends on the release.

For coordination that needs to be durable across team members today, the most reliable paths are:

  • Ticket attachment (Jira / Linear) for actionable follow-up
  • Slack threads for discussion linked to the Canvas
  • Hypothes.is annotations for inline comments on the docs / Canvas content itself

What about sensitive data?

Canvases reference your cloud resources by name (e.g. prod-customer-uploads) and may include configuration values, IAM principal names, billing line items, and log excerpts.

Before sharing externally:

TIP

Use the right redaction class on export. When exporting a Canvas for an external auditor or vendor, choose sensitive (masks account IDs, IPs, IAM principal names, billing amounts) or pii (also masks email-looking and phone-looking strings, plus tag values flagged as PII). See Canvas Export — Redaction.

WARNING

Treat Canvases like internal docs. They contain the same information someone with read access to your cloud accounts could see — but in a more concentrated form. Use the same handling rules you'd apply to a security audit report.


What's next

Escher — Agentic CloudOps by Tessell