Infos:
- Used Zammad version: Version 7.0.1-d6c89953.docker
- Used Zammad installation type: docker-compose)
- Operating system: Windows11
- Browser + version: BraveBrowser (Brave 1.89.145 (Offizieller Build) (64-Bit) / Chromium: 147.0.7727.137)
Expected behavior:
- used in ‘external data source field’ additional information based on customers email-adress shall be shown; ‘link template’ shall open an external query filtered by customers email adress.
Actual behavior:
- search result response is NOT filtered by customers email; result list shows all data sets in current query
- link template shows ‘-’ instead of customers email
Steps to reproduce the behavior:
- adding new object for testing
- testing with {search.term} on creation
- testing with {ticket.customer.email} in existing ticket
Thank you for any assistance!
Zammad does not support fallbacks in Variable outputs, where do you have that information from…?
The variable is not set, if the customer has no email address or the ticket is not yet created (as you correctly-stated).
But this is about an object that was tested towards an existing ticket as well. The object manager link is also dead, here’s the correct one… Objects — Zammad Admin Documentation documentation
The variable should be replaced upon ticket update (if that wasn’t done after adding the attribute, this might be the issue). If that’s also not helping and the ticket customer does have an email address, the question would be why it’s not working.
As I see I did deliver too less information.
I refer to admin documenation about external data source field.
For testing within Object Manager I use #{search.term} within the search-url.
For testing with real tickets, I replace #{search.term} by #{ticket.customer.email}.
The search-url should read data from metabase query, filter it by ‘search result value key’ (customer’s email adress) and return the corresponding ‘search result label key’ (customer’s certificate number).
Object preview returns correct data fields (email adress, certificate number), but doesn’t filter them. Maybe this is caused by the metabase query; getting metabase to return in json-format seems to be tricky
The link-template opens another metabase-query in new window and should transfer the value of #{ticket.customer.email} as filter value.
Of course this can’t work in object preview as there are no customer data.
But also in real tickets the variable only is substituted by ‘-’.
With a self defined object (#{ticket.[myfield]}, a reference number to get data out of Zendesk) link-template works fine.
With another pre-defined object ( #{ticket.customer.firstname} ) same disappointing result: variable is substituted by ‘-’.
Do you anything know about pre-defined objects can’t be referenced by variables?
Thanks for any support!
Normally, it should work for already existing tickets like that.
It seems that whatever pre-defined obejct is referenced as variable returns ‘-’.
And whatever self-defined obejct I use behaves as expected.