# Customer support

# Customer support schedule

  1. On weekdays we work in two shifts:
    • First shift is from 9 am to 6 pm.
    • Second shift is from 10 am to 7 pm.
    • Lunch break is 1 hour, not at the same time.
  2. On Saturdays we work on duty:
    • Create tasks, take access, be sure to inform the user that we will only start the task on Monday-Tuesday, for example: Пришлите, пожалуйста, доступы в трекер, на сервер (WP блог, регистратор доменов). До вторника все проверим..
    • On Friday, before the weekend, we remind who is on duty on Saturday.
  3. Sunday is a day off, we are not on duty, we check CarrotQuest only at will.
  4. Do not take new dialogues 30 minutes before the end of the work day, inform users that the task / question is in progress, and we will continue the communication tomorrow after 9 am Moscow time. Or on Monday if it's Friday.

# The beginning

  1. You will receive an invitation to the service to your corporate email.
  2. Upload your photo and use your first name (without the last name). The customer is more comfortable communicating with a real person.
  3. Disable notifications in your profile settings.
  4. Explore the service, especially the "Dialogues" section, because communication with users is held through it.
  5. Imagine yourself our customer. See how everything looks from the user's side.
  6. There is a customer card on the right from the dialogue. It consists of the information on account, license, and notes about the user. Notes are written by our team and are visible only to us.
  7. On the right under the notes there is a field for entering tags. This tag will be attached to the customer (not to dialoguess). You can search these tags.

# Recommendations

  1. Identify the customer.

    • Check if the customer has a license. Check the notes on the right, your teammates may have already left their comments, start with them.
  2. Rate the complexity.

    • Simple. Answer right away if the question is simple.
    • Complex. Such questions take time to figure them out. We do not block on them, answer the customer that we have received the request and we will get back as soon as we have any results.
    • Critical (Blocking). The customer has serious problems with the tracker. We remove the block, answer the customer that we have received the request and try to resolve it as quickly as possible. Write to # tech-questions, create a task in Jira, invite teammates.
    • Proposals. We thank the customer and write that we will evaluate the proposal. Then go to #proposals channel, open pinned goole doc and if this is a new request - add it to the table, or add a plus sign to the existing request.
  3. Put the tag to the dialogue. Above the operator's chat window in a dialogue there's a fiald for adding tags. Begin typing the name of the tag, and then select the existing tag from the list clicking on it.

  4. Do not block yourself.

    • Reply to the client immediately. Take them off the wait. Answer the customer that we have received the request and we will get back as soon as we have any results.
    • Delay the issues solving from Friday to Monday, if possible. Save the energy for the weekend to respond to critical messages.
    • Search Slack or knowledge database before asking collegues for help.
    • If the problem is of a technical nature, request access to the tracker and server. You will save time for yourself and your teammate who will help you.
    • If the solution to the problem can be postponed, put a bug or issue to the SUPPORT project. Try to describe the problem in the task and attach all access and keys. First check all the accesses yourself.
    • Refuse to correspond through your personal messenger. You will have difficulty transferring the dialogue to teammates.
    • If a customer asks for your public SSH key, ask the user to create a new key pair and use our public key (can be found in pinned messages in tech-questions in the slack). Otherwise, you run the risk of blocking the solution on yourself, because none of the colleagues can log into the server.
    • If the weekend is coming, warn the customer that the decision will be ready in the beginning of the next week.
    • If there are lot of dialogues, ask for help in a #workspace channel writing @here нужна помощь на карроте.
    • Remember Remote by Default value in our company. Everyone is ready to help, just keep in mind that the response will not be instant.
  5. Dig deeper into the matter.

    • If you don’t understand the customer's problem, then your colleagues probably won’t. Ask the customer for details and a description of what they want to do.
    • If you received a reply in # tech-questions from a colleague, but do not understand the meaning, feel free to ask for a more detailed answer. Don't worry, we have an agreement that we write briefly and, if necessary, in detail.
  6. Exceed expectations.

    • Write the customer the estimate for solving the issue 3 times longer than you think is necessary. Exceed the customer's expectations by solving the problem faster than he expected.
    • If the problem can be fixed without distracting the client, don't distract him. Ask for access and solve the issue yourself.
    • If you see that the product has an inconvenience that customers regularly experience - initiate an improvement through the # proposals channel.

# Issues duscussion and #support-workflow channel

During the communication with the customers, the support operator may have situations when they need help with the answer. In this case, begin with the # support-workflow channel. In this channel support team asks questions they need answers for, exchange knowledge, asks for help and discuss all issues directly related to customer support.

Before asking the question you may use Slack search in #support-workflow and #tech-questions channels. The response may take time,so don't be shy and mention @ivan if you need help. Also, your teammate who already coped with the issue may help you with the answer.

All possible solutions will be described in the thread.

If the solution wasn't found in #support-workflow, make a new task in Jira and start a thread in #tech-questions.

It is important that everyone participates in the discussion, you can mention everybody with @ here.

# #tech-questions channel

This channel is used for communication between the support and development teams. There are some requirements for the main posts of the thrads in this channel.

  1. In the main message, we describe the problem in detail and attach the task we created in Jira, which includes all the necessary information. The task should be described in such a way that the developer can immediately start solving the issue without asking additional questions.

  2. If the support operator has a technical question that needs comments from the developer, then you describe in detail the point of the issue and post it to the channel. All further discussions take place in the thread under this post.

  3. All the issues can be devided to critical (blocking) and basic.

  • Critical (Blocking). The customer has serious problems with the tracker. We remove the block, answer the customer that we have received the request and try to resolve it as quickly as possible. Create a task in Jira, start the thread in #tech-questions, and add the emoji with two exclamation marks. If within 30 minutes there is no reaction to the blocking thread in the channel, mention @ artur.sabirov and@ timur.shahmuratov. They will help.

  • Basic tasks. Customer should be told the estimates, especially if the task will be solved only on a Bug Day on Mondays.

Recommendations for messages format in the channel:

  1. Use quotes, a > character or a block with ``` characters in the beginning and the end of the quote.

  2. Start a thread under your message adding to the thread:

  • add Jira's task URL if there's any;
  • add the link to the CarrotQuest dialogue, accesses, keys;
  • if the user sent any new details, add them to the thread, don't forget to use quotes;
  1. If the reply given by any of the teammates is not clear, ask for details to get more information and explanation.

  2. If you've been mentioned make it clear that you've seen the message and will reply later.

  3. If you add the screenshot with the error, duplicate the error with the plain text, this will help to find the info or solution for this error in the future.

  4. One thread is for a single issue, even if we are solving the issues for the same user, or will mess everything up and get lost.

  5. When on duty - create the threads only for blocking issues.

# How to create tasks in Jira

If you understand that the issue can't be solved at the moment, create a task in Jira:

  1. Shortly describe the point in the name of the issue.

  2. Fill Carrotquest URL field.

  3. Fill Fix Version field.

  4. Write description

    BACKGROUND Some special settings or user permissions. Maybe specific browser version.


    1. First step
    2. Second step
    3. ...
    4. Actual result and what was expected.
  5. Add all possible accesses according to the situation, e.g.:

  • if there's something wrong with the tracker - ask for access to the tracker and the server;
  • if the issue is with domains - ask for access to the tracker, to the server, and the domain's registrar;
  • affiliate network issue - access to an affiliate network and to the tracker;
  • WordPress - to the tracker and WP admin.

Keep the customer up to date and inform them in case you get any new info from the assignee.

# #proposals channel

Often our users share their feedback or request new features. These proposals we add to a special google doc, which is pinned to our proposals channel.

Before adding a new feature request search the doc, the request may already exist. Use different keywords while searching.

  • If the proposal already exist add + to the Frequency column, or just add one point to the existing number.
  • Add the link to CarrotQuest dialogue in the CQ column.
  • If the proposal is unique - add it to a new raw filling in all the columns.

If @cs-team believes that proposal can produce significant impact on product in good way, they write a RFC and promote it to @dev-team.

# Working with tags

Every month we select 2-3 tags from the top-10 for the previous month and start working with these tags. After the work to eliminate the questions with these tags is done - we remove the tags. Next, we add these tags to the dialogues when they appear again.

At the end of the month, we check if the managed to decrease the number of questions with these tags.

# High-quality support level

  • We try to read the answers of the support team and make sure that users receive the most relevant response to their requests.
  • Pay attention to dialogues that have been held by the same operator for a long time, offer help.
  • Encourage CS-team to ask questions in the # support-workflow channel.
  • Raise the discussion of the issues that were solved incorrectly and talk about all the possible solutions to the question.

# Notification

  • Disable notifications in CarrotQuest.
  • Check your notification preferences in Slack.
  • Set up a reminder to check your mail every 30 minutes or an hour.

# Recommendations for resolving conflicts

  1. If you feel the situation is escalating and you can't cope with it transit the dialogue to Ivan, Veronika or Artur.

  2. Follow CARP method:

  • Control the situation.
  • Acknowledge the dilemma.
  • Refocus the conversation.
  • Problem-solve so the customer leaves happy.
  1. We do not offer any compensation or discounts, or additional license days.

# Refunds

We do not have refunds. There's info in our license agreement about our money-back policy.

# Developers duty days

  1. On-call mode means to be in touch in Slack during the day, this may be a Slack app on your phone.

  2. Check #tech-questions threads. Only blocking issues are written in this channel on weekends and days off. If you think the issue is not critical and can wait until Monday - tell your colleagues about it.

  3. Respond to the message for half an hour.

# Support team duty days

  1. Write an answer if the question is not critical and you can respond to it yourself.
  2. If the question is not critical, but you do not know the answer and you need your colleague's assist, you can share a necessary link from our Knowledge database and tell the user that we will help him to solve everything in detail after the weekends.
  3. If the issue is critical - the tracker doesn't work or there's any other blocking issue that stops the tracker - we solve the customer's problem. Ask for developer-on-duty's help. If you don't get the response in 30 minutes - mention Artur or Timur.


In the upper right corner of the dialogue, there's a button with the paper clip icon, you can click it and copy the link to the dialogue.

# Should we explain how product works internally?

No. We need freedon to change everything in product code. If customer build some sulution based on that infromation and the next day we'll brake it. Who is to blame?

# What influenced us


  1. "Customers for Life. How to Turn That One-Time Buyer Into a Lifetime Customer." by Carl Sewell and Paul B. Brown.
  2. "Behind every great product is a great support team" by Intercom (ebook (opens new window)).
  3. "Delivering Happiness" by Tony Hsieh.

Awesome product attracts new customers, awesome support keeps them.