#{article.body_as_html} uses the last article, even private ones


  • Used Zammad version: 3.3.x
  • Used Zammad installation source: package
  • Operating system: Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64 GNU/Linux
  • Browser + version: any

Expected behavior:

  • #{article.body_as_html} should use the last public article, i.e. no private notes

Actual behavior:

  • #{article.body_as_html} uses the last article, even if it is set to private

Steps to reproduce the behavior:

  • Create automation/scheduler that sends an e-mail notification to the customer with #{article.body_as_html} in the subject/content
  • Add a private note to a ticket
1 Like

I am no developer but I would think this works as intended. Maybe s.o. wants to send an email via trigger to internal agents and they should see the private note. You can prevent sending private notes to customers by adding the condition Article -> Visibility -> public in your trigger and automation.


Correct. This is working as designed. :slight_smile:

Honestly I don’t think that the system should—ever—send private/internal notes to anyone except agents or admins…

I understand that {#article.xyz} refers to the latest article within a ticket—and while I think that the current way absolutely suits the internal communication (hence “is working as designed”), there should definitely be a way to remind customers of an open ticket—ideally including the last message from the agent to the customer. E.g. Zendesk does it with a variable named ticket.public_comments_formatted.

Also, something like this was suggested by @martini a while ago…

(edited a few times for cleanup)

As this is possible via triggers and schedulers, one might to this intentionally and thus it’s possible.

Currently, at least in the workflow we’re talking about, Zammads triggers always handle something because of the article the trigger got fired for. I understand that this might not fit your use case, but that would be a feature request.

If the community agrees, I’m sure this won’t be an issue to implement.
I can’t provide more information on if or if not at this moment, sorry.

I’d love to contribute, but as always—:smiley: sorry!—I don’t know where to start. If someone could point me in the right direction, I’d owe them a beer! :joy:

Found it and tried to implement it:

Let me know what you think :slight_smile:


Thanks for your effort. A developer will have a look as soon as we find time.

I can’t qualify those changes well enough. :slight_smile:

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.

@thorsteneckel on GitHub:

Today we had an internal discussion with the team about this pull request. Unfortunately we can’t take this PR into our codebase and maintain it. We think the underlying issue is the lack of a proper template engine in Zammad that would enable the administrator to build advanced templates without the need of changing the code. That would also come with the benefit of a clean and maintainable architecture for us maintainers.

Asking you to integrate a whole template engine would totally not be feasible - that’s clear to us. Therefore we would suggest to migrate your changes into an community addon until we’re ready and making it available over at the community board.

Sorry it took me so long! While I still think part of that functionality should be in Zammad’s core—at least regarding sending automated ticket reminders to customers like for example Zendesk does—I would love to create a community add-on.

Whenever you find the time, please tell me where to start. Thanks in advance!

1 Like

This thread may help you on your journey:

1 Like

Can this some how be accomplished by using #{article.internal} and if that is true then include #{article.body}

Like !#{article.internal}.#{article.body} would only print the body if internal was false

Is this a request for change or an add on ?