HTML ticket comments

Send rich-text ticket comments to Zendesk Support with inline images, lists, and formatting.

The Zendesk Support ticket components — both ticket.create and ticket.update — accept a comment_html_body field alongside the plain-text comment. When set, Meya sends the value to Zendesk as the comment's html_body, which agents see as rendered HTML in the ticket thread.

This is the right field to use when you need:

  • Inline media — <img> tags pointing at your own CDN or S3.
  • Rich formatting — <ol>, <strong>, <code>, tables.
  • Anything that the plain comment field would otherwise render as literal text.

Precedence

If you pass both comment and comment_html_body, html_body wins — Zendesk renders the HTML and ignores the plain-text. Pick one per component invocation.

Example: ticket with an embedded screenshot

- type: meya.zendesk.support.component.ticket.create
  integration: integration.zendesk.support
  requester_id: (@ flow.requester_id )
  subject: Test ticket with HTML body
  comment_html_body: |
    <p>Hi team,</p>
    <p>This is a <strong>rich-text</strong> ticket body with an inline image:</p>
    <p><img src="https://placehold.co/600x400/png" alt="screenshot"/></p>
    <p>Repro steps:</p>
    <ol>
      <li>Open <code>/checkout</code></li>
      <li>Apply coupon <code>SAVE10</code></li>
      <li>Click submit</li>
    </ol>

Use on updates too

comment_html_body works the same way on ticket.update — useful for appending rich follow-ups to an existing ticket without losing formatting:

- type: meya.zendesk.support.component.ticket.update
  integration: integration.zendesk.support
  ticket_id: (@ flow.ticket_id )
  comment_html_body: |
    <p>Update from the bot:</p>
    <p>The user just attached <a href="(@ flow.attachment_url )">a new screenshot</a>.</p>
  public: false

public: false keeps the comment internal — same semantics as it has for comment.

Where to go next