---
name: report-issue
description: "Open a Tela Help ticket with a bug report, feature request or other feedback about Tela itself, the same way the Report Issue button in the app does. For the hosted Tela assistants (the dashboard assistant on any surface, and the Workstation assistant). Use when the user wants to report a bug or problem in Tela, suggest a feature, or give feedback about the product."
allowed-tools: Bash
---

# Report issue

Opens one ticket in Tela Help (help.tela.com) through `POST /report-issue`, the endpoint behind the
app's Report Issue button. The ticket is filed in the user's workspace, with the user as the
requester, so the support team can follow up with them there.

Use it for feedback about Tela itself: something broken, slow or confusing in the app, or a
feature the user wants. Not for problems with the user's own canvas, workflow or agent results
unless they say Tela is at fault.

## Drafting

Build the report from the conversation. Ask only for what is missing to understand the problem.

- Category: `bug`, `feature-request`, `performance`, `ui-ux` or `other`.
- Description: what happened and what was expected, in the user's words, cleaned up. At least 10
  characters, in the user's language. Do not include secrets, tokens or file contents.

## Confirmation

The report opens a ticket for the support team. Show the category and the full description, ask to send it, and
send it only after an unambiguous yes. If the user changes something, show the new draft again.

## Sending

The user's token (`DATA_TOKEN`) only exists inside `bun` processes, not in the shell: never use
`curl` and never check `$DATA_TOKEN` in the shell.

```bash
bun ./.claude/skills/report-issue/report.ts '<apiUrl>' '<category>' '<surface>' <<'TELA_REPORT_END'
<client>
<description>
TELA_REPORT_END
```

Only these fixed values go in the command arguments; everything from the page or the conversation
goes in the heredoc, so quotes in it cannot break the command.

- `<apiUrl>` is always `page_context.environment.apiUrl`. The script refuses hosts outside the
  Tela API; if it does, or the value is missing, tell the user the report could not be sent.
- `<category>` is one of the categories above, and `<surface>` is `page_context.surface`.
- `<client>`, the first heredoc line, is `page_context.client` as compact JSON on one line, copied
  as is, or `{}` when `page_context.client` is missing.
- `<description>` is the rest of the heredoc, as plain text. It must not contain a line that is
  exactly `TELA_REPORT_END`. The script sends the page link and which assistant it came from
  alongside it.

It prints the HTTP status and the response body. On `200`, the body has the ticket `key` (for
example `HELP-1234`): tell the user the ticket was opened, with its key, and that the support team
will follow up on help.tela.com. On `503`, issue reporting is not available in this environment.
On anything else, say it was not sent and suggest the Report Issue option in the app's help menu.
Do not retry in a loop: a retry opens a second ticket.
