100 Placeholders and Instructions
Control placeholders and instructions in ticket comment
Long description
100 Placeholders and Instructions Zendesk Support app will enable Zendesk Agents and Administrators to control the quality of ticket comments by ensuring fullness of customer facing responses and absence of unwanted content.
If your Agents are often in need to write complex responses that require them to follow specific instructions and/or provide particular information then 100 Placeholders and Instructions app comes to your rescue.
Include Instructions for agents to follow into Zendesk Macros. The app will ensure Instructions removed before comment get sent.
Include numerous Placeholders (elements that Agents need populate) into Zendesk Macros. The app will ask Agents to provide values for those.
15 different settings makes 100 Placeholders and Instructions app heavily configurable for all sort of workflows.
100 Placeholders and Instructions app will help Zendesk Administrators to get the most of Zendesk Macros, will help Agents to write better quality responses in efficient manner, and will make customers happier with complete and cleaner communication.
Installation instructions
- Find and Install app from Zendesk marketplace following installation steps from Zendesk.
- If installing from .zip file follow instructions for uploading private app.
- After app is installed follow the documentation to configure it according to your needs.
- For managing and removing installed app follow instructions for managing private apps.
Supported browsers
App was built with Zendesk system requirements in mind and expected to work in all supported browsers.
Limitations & Technology
App was built using the following technologies:
- Zendesk Application Framework v2;
- Zendesk Garden
- vue@2.3.2
- underscorejs@1.8.3
- jquery@3.2.1
- native-promise-only
The app is bounded by all technical and legal restrictions of listed technologies.
License
Software is Licensed under the Apache License, Version 2.0. Full text of license is available here.
Software is the subject of Terms and Conditions
About placeholders and instructions
Consider example of Macro text below.
--8<------------------------------------------------------------------------
Provide customer details about the progress on this ticket and send it as public comment.
Progress update should be structured and clear. It should include past progress, missing information, next steps and issue summary.
--8<------------------------------------------------------------------------
Hi {{ticket.requester.first_name}},
I wanted to let you know that I made some progress on your issue:
[[provide two things tried]]
Now, I need to know:
[[insert information required from requester; use numbered list if more than one item is required]]
Once you get back to me, I will [[explain next 2-3 things you will try]].
Original issue was about [[paraphrase customer’s issue]]
Best Regards,
{{current_user.name}}
In this case the following considered to be instructions and expected to be removed:
--8<------------------------------------------------------------------------
Provide customer details about the progress on this ticket and send it as public comment.
Progress update should be structured and clear. It should include past progress, missing information, next steps and issue summary.
--8<------------------------------------------------------------------------
The following considered to be placeholders and expected to be replaced with information provided from an Agent:
[[provide two things tried]]
[[insert information required from requester; use numbered list if more than one item is required]]
[[explain next 2-3 things you will try]]
[[paraphrase customer’s issue]]
The following are native Zendesk placeholders and have nothing to do with this app. These placeholders rendered before Macro text turns into ticket comment:
{{ticket.requester.first_name}}
{{current_user.name}}
Instructions are clearly marked and bounded piece of text which is expected to be in the comment text only once (or not at all). Depending on configuration instructions text may contain any text including line breaks. Instructions are expected to be removed before comment saved on a ticket.
Placeholders are clearly marked and bounded pieces of text which are expected to be in the comment text more than once (or not at all). Depending on configuration placeholders may contain any text including line breaks. Placeholders are expected to be replaced with Agent provided text (or empty string) before comment saved on a ticket.
Configuration
- GENERAL: Check Internal note /
general_check_private_comments
- If selected the Internal note will be checked for placeholders/instructions. Otherwise, only Public comment will be checked.
Private notes are often not intended to be faced by the customer. Hence may not require instructions/placeholders handling. If setting is inactive the app will set Comment auto-check mode to disabled every time when comment type is set to Private note.
- GENERAL: Show Modal window /
general_use_modal
- If selected the Modal window will be automatically displayed. Otherwise, placeholders/instructions will be displayed in Ticket sidebar. Option to open in modal window will always be available.
Modal windows grab more attention and focus. If processing placeholders/instructions is crucial enabling this setting should help. Modal Window will automatically appear as soon as either placeholders or instructions are detected. It will display instructions, ticket comment without instructions and placeholders update form. If modal window is closed and ticket comment still contains instructions and/or placeholders the form will be displayed inside Ticket Sidebar app. Automatic modal window will be displayed only once per ticket. However, option to manually open modal window from within the app is always available.
- GENERAL: Comment auto-check is enabled by default /
general_auto_check_comment_by_default
- If selected the Comment auto-check will be enabled at app load. Otherwise, Comment auto-check will disabled, but can always be enabled manually.
When Comment auto-check is set to enabled mode the app will listen for ticket comment text changes and check it every time for placeholders and instructions patterns. Enabling Comment auto-check by default will make app more proactive and help making Agents more efficient. If Comment auto-check is disabled by default Agents can check comment manually by pressing the button inside the app UI.
- GENERAL: Stop comment check while processing placeholders/instructions /
general_ignore_comment_while_editing
- If selected the Comment auto-check will be disabled when placeholders/instructions are detected. Otherwise, Comment auto-check status will be set to enabled or defined by other logic.
Once placeholders/instructions are detected the app turns into edit mode by displaying appropriate UI. In edit mode Agents can still modify the comment text. In order to avoid refreshing app UI it is recommended to disable comment listening mode.
- GENERAL: Show popup message /
general_show_pop_up_once
- If selected one-off pop message will be displayed for 8 seconds when placeholders/instructions are detected. Otherwise, no pop message will be displayed.
If your Zendesk account has too many apps installed it may be hard for Agents to spot another app like this one. The popup message may help grabbing more Agent attention. Popup message will be displayed for 8 seconds and only once per ticket.
- GENERAL: Debug mode /
general_debug_mode
- If selected the app will generate numerous messages in browser console usingconsole.log
. Otherwise, no messages will be generated.
Debug mode may be useful when configuring Regular expressions. When app setup and running it is recommended to have it off. Console messages will contain timestamp, app name, English text message and context (JavaScript object).
- PLACEHOLDERS: Check placeholders in ticket comment /
placeholder_check_placeholder
- If selected the app will attempt to locate placeholders using provided regex. Otherwise, logic for locating placeholders will not run.
Disabling placeholders check may be useful when only instructions are being used in ticket comments. If this setting is off any further placeholder related setting will be ignored.
- PLACEHOLDERS: Regular expression for locating placeholders /
placeholder_regex
- JavaScript like regular expression for locating placeholders. It will be evaluated insidenew RegExp( YOUR_REGEX, 'g')
.
A regular expression is a sequence of characters that forms a search pattern.
Learn more about regular expressions at mozilla.org.
Test your regular expression at rubular.com.
Placeholders format should not conflict with any other text of your comment. It is NOT recommended to use the following patterns:
[!] PLEASE AVOID [!]
< placeholder text here >
<< placeholder text here >>
{{ placeholder text here }}
Consider using the following pattern:
[[ placeholder text here ]]
Regular expression for [[pattern]]
supposed to read content inside the square brackets including square brackets. This principle should apply for any other pattern. Regular expression for given example is the following:
[[(.*?)]]
This Regular expression will search any text wrapped with square brackets including square brackets. This, however, doesn’t consider line breaks inside placeholder text. It is recommended NOT to use line breaks.
If Rich editor feature is enabled every ticket comment will be returned in and evaluated in HTML format. Placeholders search should work as expected with formatted text if entire placeholder is formatted. If part of the text if formatted the result may not respect such formatting.
- PLACEHOLDERS: Regular expression for validating placeholders /
placeholder_validation_rule
- JavaScript like regular expression for validating placeholders. It will be evaluated insidenew RegExp( YOUR_REGEX )
. If left empty no validation will happen. Otherwise, validation rule will be applied to each detected placeholder.
A regular expression is a sequence of characters that forms a search pattern.
Learn more about regular expressions at mozilla.org.
Test your regular expression at rubular.com.
The app displays a form with multiline text fields corresponding to placeholders. Validation applied to the text of each particular field.
Validation applied as you type and at Update comment
event. Invalid entries will turn red and make it impossible to update ticket comment.
Given validation rule will be applied for all placeholders it should be generic and equally work for every entry. Check examples below:
.{1,} - is valid when at least one character is presented
.{5,} - is valid when at least five characters are presented
It is recommended to apply minimum validation (at least one character .{1,}
) to ensure that each placeholder was considered.
- PLACEHOLDERS: Unprocessed placeholders will block Submit button /
placeholder_block_submit_button
- If selected the app will block Submit button if at least one placeholder was detected and unprocessed. Otherwise, Submit button will be active as usual.
Making Submit disabled until all placeholders are completed should force Agents to provide all required info. Note: other Support apps may unblock Submit button.
- PLACEHOLDERS: Placeholders can be deleted /
placeholder_can_delete_by_agent
- If selected the app will display option allowing deleting placeholders. Placeholders marked for deletion will be replaced with empty string. Otherwise, each placeholder should be populated with valid value.
Deleting placeholder means replacing it in ticket comment with empty string. If setting is enabled Agents will be able to see and use the option inside the app UI to mark particular placeholder for deletion. Note: nothing stops agents from deleting placeholders directly from the comment text.
- INSTRUCTIONS: Check instructions in ticket comment /
instructions_check_instructions
- If selected the app will attempt to locate instructions using provided regex. Otherwise, logic for locating instructions will not run.
Disabling instructions check may be useful when only placeholders are being used in ticket comments. If this setting is off any further instructions related setting will be ignored.
- INSTRUCTIONS: Regular expression for locating instructions /
instructions_regex
- JavaScript like regular expression for locating instructions. It will be evaluated insidenew RegExp( YOUR_REGEX )
. Check installation instructions for more info.
A regular expression is a sequence of characters that forms a search pattern.
Learn more about regular expressions at mozilla.org.
Test your regular expression at rubular.com.
Instructions regex is designed to find instructions only once.
Instructions format should not conflict with any other text of your comment. It is NOT recommended to use the patterns that similar to HTML codes < >
or native Zendesk placeholders {{ }}
.
Below are two examples of instructions format and related regex:
====== 1 ======
Instructions format:
--8<------------------------------------------------------------------------
Instructions text goes here...
--8<------------------------------------------------------------------------
Instructions RegEx:
(-+)(8S*)(-+)([sS]*)(-+)(8S*)(-+)
====== 2 ======
Instructions format:
========= REMOVE TEXT BELOW =========
Instructions text goes here...
========= REMOVE TEXT ABOVE =========
Instructions RegEx:
========= REMOVE TEXT BELOW =========([sS]*)========= REMOVE TEXT ABOVE =========
- INSTRUCTIONS: Undeleted instructions will block Submit button /
instructions_block_submit_button
- If selected the app will block Submit button if instructions are still present in ticket comment. Otherwise, Submit button will be active as usual.
Making Submit disabled until instructions are removed should help Agents sending clean comments without unwanted info. Note: other Support apps may unblock Submit button.
- INSTRUCTIONS: Enable Remove instructions option /
instructions_instructions_at_submit
- If selected the Remove instructions option will be enabled by default. Otherwise, it should be enabled manually.
Remove instructions is a checkbox which tells the app what to do with instructions text in ticket comment. Keeping it preset saves Agent extra click when they are processing a comment. However, it creates a risk of mistakenly removing instructions.