This help center has been deprecated and moved to a new address, please follow this link to open an active help center.

Thank you and sorry for inconvenience!

Track Email Feedback with YouTrack

Thanks to our users, we receive lots of feedback each day. We receive feedback in our forum, via email, and via our tracker: users create issues and feature requests. Among these three feedback currents, the email feedback is the most hard to track. With emails, it could be quite hard to track unanswered questions, to track who supports particular conversation, or even who answered which question. 

In YouTrack team, we use our own public YouTrack server for processing email feedback in order to:

  • Automatically create issues from received emails.
  • Ease up supporting conversations by keeping it within comments to corresponding issues. Email authors receive notifications and answers within emails.
  • Automate feedback issue processing: notifying the team about pending questions, assigning issues, processing spam messages.

The above operations are implemented via two features: Mailbox integration and Customized workflow. This how-to shows the general setup of a YouTrack instance needed to enable processing of emailed feedback the way we do in our team. You can always modify and enhance the presented algorithm to adjust it to your feedback support lifecycle. 

Configuring YouTrack for Feedback Processing

All settings presented here are system-wide and thus you need a user account with low-level administrator permissions. In our example, the setup is made by default 'root' system administrator. So, before we begin, please log into YouTrack as a system administrator. 

Creating and Configuring Feedback Project

First of all, we need to create a new project for the feedback:

  1. Open Administration > Projects page
  2. Click 'Create new project' and fill in mandatory parameters of new feedback project.
  3. When done, click 'Create'. You will be automatically navigated to the 'Assignees' tab of the project, but at this moment we will skip the step.

Now we should create a user group, which will contain assignees of the feedback project:

  1. Open Administration > Groups page
  2. Click 'Create new group' and specify the name and optional description of the group.
  3. Click 'Create' when done. You will be automatically redirected to the 'Roles' tab of the group properties.
  4. Click 'Add role' link and, in the displayed dialog, select the role (we use 'developer' role) and select the new feedback project in the list. Click 'Ok'.
  5. In the list all available groups, add users to the new group: Click 'Add user' link, and then select the required user in the drop-down list (use context search to find the account). You can also use other available options (for example, Copy users) to add users to the group.

When the group is ready, let's get back to our feedback project and set up projects assignees:

  1. Open Administration > Projects > <feedback project> > Assignees tab
  2. Click 'Add group' link and, in the drop-down list, select the group we have just created.
  3. Upon clicking 'Save' button, the group should be added to the list, and in the right pane you should see the list of all actually added users.

Now we need to customize fields of the project issues. By default, each new project has a number of predefined fields, like State, Priority, Assignee, etc. We need to delete unnecessary fields and correct others:

  1. Open Administration > Projects > <feedback project> > Fields tab
  2. Detach unnecessary fields, in our case: Priority, Fix version, Fixed in build, Subsystem.
  3. Customize Type field:
    1. By default, the Type field cannot be empty, and thus you will not be able to change (delete values) from its values bundle, which we will need to do on the next step of our setup. To change this setting, click the name of the field, and in the field properties' dialog, select Can be empty check box.
    2. Click the 'Types' name in the 'Value bundle' column. The bundle's page will be open.
      The 'Types' bundle, by default, is used in other projects as well, thus it's not a good idea to change the original value bundle. In this case, it is better to create a copy of the bundle for the feedback project, so the changes will not affect other projects. 
    3. Click 'create a copy' link and enter the name for the new bundle. When the bundle is created, delete unnecessary values and add new ones. In our case, we use 'Question', 'Feature', 'Spam'. Sort them in order you want to see the values in the field's drop-down by drugging value lines in the list.
    4. Disable the 'Can be empty' option for the field. Click the name of the issue field (Type, in our case), deselect the 'Can be empty' checkbox, and select the default value for the field. We use the "Question' type, by default.
  4. In the same way correct the State field:
    1. Create a copy of States bundle for the project.
    2. Correct values in the copied bundle. We have only two states: Unanswered and Answered, which is marked as resolved state.
Please don't forget to check the 'Can be empty' parameter of the issue field before you try to copy and edit the values bundle, used in this field. Otherwise, you might get an error while deleting a value from the bundle.

Now our project is customized and we can proceed with the Maibox integration setup. 

Configuring Mailbox Integration

To configure Mailbox integration you need to:

  1. Enable Mailbox integration
  2. Configure connection to a mailbox.
  3. Configure a rule, which will describe how the feedback emails should be processed.
  4. Configure schedule for fetching emails.

Configuring Connection to a Mailbox 

To configure connection to the feedback mailbox:

  1. In Administration > Mailbox Integration section, click Add mailbox link.
  2. In the Add new mailbox dialog window, provide the following parameters:
    • Protocol — the protocol used in the feedback mailbox
    • Host — Mail server URL.
    • Port — Mail server port. By default, the standard port number is set automatically, according to selected Protocol value. We use the default value.
    • Login — User name to authorize access to the feedback mailbox
    • Password — password to access the feedback mailbox
  3. When the above parameters are set, click the Test Connection button, to check the connection. If test connection is successful, click Save to create the new mailbox configuration.

When a mailbox connection is configured, you should create a rule describing how the feedback emails should be processed. 

Configuring Rule for Feedback Emails 

To configure the rule for processing incoming feedback:

  1. In the Administration > Mailbox Integration tab click define rule link.
  2. In the Main tab of appeared dialog window, specify the following mandatory settings:
    • Project — select the name of the created feedback project, we have previously created and configured.
    • Mailbox — select the feedback mailbox, for which we just have created the connection.
  3. In the Filter tab, select Ignore auto replies checkbox, so all auto-replies will be ignored and not processed by YouTrack.
  4. In the Reporter tab, select Set email sender as reporter. Now YouTrack will resolve e-mail address of an email's author, and try to find a user account with the same address. If such account found, then the user will be set as the reporter for the issue created from the email. For the case when no user with sender's email address is found in YouTrack, we use the Create new account for sender option, that is: For a sender, a new account will be created based on sender's email address. New credentials for accessing the YouTrack instance will be send to the author of the original email in the notification message about creating issue from the email.
    If the number of user accounts in your Youtrack instance is limited by the license agreement, you might want to use other options of Mailbox integration:
    • Set <select user> as reporter. — Select an existing user, which will be set as an issue reporter, if no user account with sender's email address is found.
    • Never set email's author as reporter, use always a predefined user account. This case is quite extreem, because it eliminates the possibility to keep conversation with customers within YouTrack, via comments. That is, you won't be able to answer questions directly in YouTrack, as long as the email's author won't be notified about any changes in the issue. However, you will still be able to track emailed feedback in the project, as long as all emails within one email thread will be collected as comments under the same issue, which were created from the original email.
      For both these case, we recommend to add a custom field like 'Original email', in which the author's email address can be stored.
  5. In the last, Postprocessing tab, you can specify a command, which should be applied for the new issues when they are created. For example, you can use a command like 'author ${from}, which will store the author's email address in the 'author' issue field. Just don't forget that you should create such field in your feedback project.
  6. When done with the settings, click Save to create new rule.

At the bottom of the dialog window you will see a note in the following format: "Maintainer of this rule is <user name>. Maintainer receives notifications, if rule can't apply command or resolve a reporter." 

The last parameter of the integration we yet need to customize now, is the schedule for checking for the new emails and fetching them from your feedback mailbox:

  1. On the Administration > Mailbox integration page, click the Common Settings link.
  2. In the displayed dialog, type a cron expression. For example, to fetch emails from the specified mailboxes each 15 minutes, every day, use the following expression: 
    0 0/15 * * * ?

    For details about cron expressions format, please refer to the cron trigger tutorial

That's it: We finished configuring the mailbox integration for the feedback. With these settings the feedback processing will look like this:

  1. YouTrack will check the feedback mailbox for new issues each 15 minutes.
  2. Once the new mails are discovered, YouTrack will fetch them and create new issues in the Feedback project, one issue per unique email.
  3. New issues are created with the following parameters:
    • Issue summary and issue description generated from email's subject and email's body, respectively.
    • If an email has any attachments, all of them are attached to the new issue.
    • Issue Reporter is set to the email's author.
    • Issue is Unassigned and its state is 'Unanswered', with Type set to the default value 'Question'.
      If a new email is a reply in an already existing conversation, a new comment is added to the corresponding issue.
  4. Once the issue is created, a project's lead in the Feedback project receives notification about it.
  5. When a team member (member of the user group, we have created for the feedback project) writes an answer to the question directly in a comment to the issue, the question's author will get notification and the answer by email. Thus, we will be able to keep the conversation within an issue, via comments, directly in YouTrack.

Further Enhancements for Processing Feedback

By setting up the mailbox integration, we achieved tracking of the emailed feedback. To ease up our life even further, we used two more features of YouTrack:

  1. We use a saved search, shared for the team, which allows us to notify about creating new feedback issues not only the project's lead, but the whole team. Thus anyone of us can answer user ASAP.
  2. We designed a workflow to automate feedback issue's lifecycle.

Setting up Shared Saved Search

  1. In the Issues list, search for unanswered issues in the created feedback project. In our case, the search query looks like this: 
    project: Feedback state: Unanswered
  2. In the list of search results, click the 'Save this search' link, just below the search box.
  3. In the displayed dialog, provide following parameters for the new saved search:
    • Saved search name.
    • Select the 'Pin' option, so the saved search will be shown by default in the left sidebar.
    • Select the user group, we have created for the feedback team in the 'Visible for' list.
  4. Click 'Save' to create new shared saved search.

Now the 'Unanswered Feedback' saved search will appear in the left sidebar for each member of the feedback team. Also, via this saved search all members of the team will be able to receive notifications about new issues in the Feedback project.
To enable receiving notifications for new issues in the Feedback project, a member of the team should perform the following steps:

  1. Open own user profile: click <user name> in the right corner of main menu bar, then select Profile
  2. Open Filters and Notifications tab
  3. Select the checkbox in the 'on issue created' column for the 'Unanswered Feedback' saved search.
  4. Click Save.

Now a user will receive notification about each new issue created in the Feedback project.

Configuring Workflow

The workflow, which we designed for the feedback processing, contains four rules, which cover the following processes:

  • Notifying about unanswered feedback. We use the scheduled rule, according to which YouTrack daily, at 11:00 checks the feedback project for 'Unanswered' issues and notifies either the issue assignee (if issue is already assigned) or the project lead, if such issues are found.
    schedule rule notify about unanswered feedback
    daily at 11 : 00 : 00 [issue.State == {Unanswered} && issue.Type != {Spam}] {
      var user = issue.Assignee;
      if (user == null) {
        user = issue.project.leader;
      user.notify("There's unanswered feedback [" + getId() + "]", "There's unanswered feedback <a href='" + getUrl() + "'>" + getId() + "</a>");
  • Setting the state of issue to 'Answered' or 'Unanswered' according to the latest comment: If a comment is from user, the issue becomes 'Unanswered', if the comment's author is a member of the team, the issue becomes 'Answered'.
    rule issue is answered if new comment posted
    when comments.added.isNotEmpty {
      if ("youtrack-developers")) {
        State = {Answered};
      } else {
        State = {Unanswered};
  • Setting assignee on developer's comment. Member of the team, which is the author of the latest answer (comment) in the issue automatically becomes issue's assignee, thus we always know who keeps the conversation at the moment.
    rule set assignee on developer comment
    when comments.added.isNotEmpty &&"youtrack-developers") && != Assignee {
      Assignee =;
  • Resolving issues automatically, if the issue is marked as 'Spam'. Of course among the feedback we get lots of spam, but we deal with it just like this: when issue's type is changed to 'Spam', it's state automatically becomes 'Answered'.
    rule resolve on mark as SPAM
    when Type.becomes({Spam}) {
      State = {Answered};

You can download the described workflowimport it to your server, and attach it your Feedback project. Just don't forget to adjust it to your settings: change the user group name, check state names, etc. Please refer to the Workflow Guide section for more details about creating and editing workflows in YouTrack.

Have more questions? Submit a request


Powered by Zendesk