1

Add a simple link

In the old interface, we have some widgets that are basically just URLs to our site decorated with the ticket requester's email.  This allowed us to link to admin pages for the user when progressing the ticket.

How can this be achieved in the new interface?

16 comments

  • 0

    Hi, Sean. Great question. We're working on a way to make it really easy for you to do just that. In the meantime, there are two alternatives:

    1. Add a Sidebar Icon app, which will let you open an external site in an iframe inside the agent interface
    2. Create your own app with an app.js file that just contains {} and a template that has the links you want.
  • 0

    Thanks James, good to hear that this will be a simple task in future :). Any idea of timescales?

    In either of the options you mention above, can you still reference things like {{ticket.requester.email}} ?

  • 0

    I don't believe Sidebar Icon apps support placeholders. The data docs have information about which fields are available to you, and the template docs can show you how to render things based on those fields.

  • 0

    Thanks for the links James.

  • 0

    Err - I mean James!  :)

  • 0

    James - I have the same issue.  I've created an app to replace our old widget.  It is a simple form with a text input and a submit button that's supposed to open a new tab to our site, but something about the app framework is causing the submit URL to be appended to the Lotus URL, so it doesn't navigate away.  App 1537, if you want to look at it.

     

    When I hit submit, I end up at a link looking like this:  "https://example.zendesk.com/https://admin.example.com/..." instead of "https://admin.example.com/..."

  • 0

    Jay: thanks for the bug report. I'm able to replicate it quite easily. I don't have an ETA for a resolution, but I'll report back when I know more.

    This is unrelated, but I also noticed that you're asking for this.ticket().requester().email() in the app.activated callback. I suggest reading the note about how data is loaded asynchornously in the events documentation.

  • 0

    James,

    Do you have any idea when this issue might be addressed?  It's two months later, and I still can't reasonably switch to the new interface because this disrupts our workflow so badly.

  • 0

    @Jay I'm going to open up a ticket on your behalf so we can track the resolution from there.

  • 0

    @Jake - that's great news.  Can  I track that ticket also, or will you post back here when resolved?

  • 0

    Taking way too long for our time frame.

    I figured this one out.  You have to combine "wait until everything loads" ( https://support.zendesk.com/entries/22019977-tip-delay-app-loading-...) with a second template (or template within a template or something) to switch views after loading is complete.  All this does it stick the requester's email into the scope of the second template so that you can use it in, e.g., a link.

    Honestly, I beat my head against the wall for quite awhile on this one.  I'd probably appreciate the new app structure for something complex, but this is pretty ridiculous for something as basic and useful as a contextual link.

    Attached is the full zip - I basically hacked up the bookmarks example, so it still has Zendesk icons and the like.  It's very ugly but it works, though it doesn't always load reliably and you have to refresh Apps every other time or so.

  • 0

    Jesse - thanks for this.  But all I see after I install is the text: "here is the stupid {email} and {ticket.subject}."  Am I missing something?

  • 0

    Interesting - you uploaded the entire zip file that I attached?

  • 0

    Yes, the whole file.  Also tried to modify the list.hdbs to fiddle with the {email} syntax, but to no avail.

  • 0

    Sean: Handlebars uses the "double-mustache" for interpolation. Do you maybe mean, {{email}} ?

  • 0

    James - bingo!  That's done the trick.  I did try a few variations in the double-moustache, but hadn't tried simply {{email}}.  Thank you, and also thank you Jesse! :)

Please sign in to leave a comment.