Service and Support Blog

Service and Support Blog

Service and Support Blog - November 2008

  • Email-to-Case Best Practices - Part 2: Things to Consider

    Marco Casalaina Nov 26, 2008

    Guest blogger and Customer Service & Support expert Peter Aubrey continues his thread on Email To Case.  Today we feature part 2 of the 2-part series Email-to-Case Best Practices (see part 1 here):

    In order to identify the best way to setup email-to-case, it’s best to get a good understanding of exactly how the agent works.  You will also need to make a decision on the communication strategy with your customers.  Some customer service departments allow agents to give out direct email addresses or direct dial numbers.  Others only allow customers to contact the agents via central support email or telephone numbers.  Some companies have a mixture of both.

    Email-to-case will of course only take email from specific mailboxes that are dedicated to receiving email related to customer support issues.  If a customer sends an email directly to one of your agents then the agent can manually add those emails into Salesforce using Force.com Connect for Microsoft Outlook.  Salesforce can be configured so that agents can send emails with a variety of From addresses, thus ensuring, for example, that all responses from customers arrive at the central mailbox which email-to-case is polling.

    E2c1 If the majority of the time you want your agents to send emails from a central support address, then each agent needs to modify his Email Settings by going to Setup: Personal Setup: Email: My Email Settings and setting his Email Name and Email Address to the required central support address.

    When an agent sends an email from a Case, he gets the choice of sending the email from a number of email addresses.  Salesforce will default to the settings specified by the agent in his email preferences, however he also gets the choice of setting the from email address on the email to either E2c2_4 their user record’s email address or any Routing Addresses that have been defined in your email-to-case settings.

    You can create a custom button that defaults the From address on the email page; for more on that, see this earlier blog entry: The Quick Email Button.

    How are emails linked together to form a conversation?
    When an agent sends an email from the Case page a special ID is created and added to the subject line of the mail so that a chain of mails can be uniquely identified as a conversation.

    However, this conversation ID is not created until an agent manually replies to the original email, an Auto-Response email does not include this unique ID.  Therefore if a customer responds to the Auto-Response mail then a new Case will be created since the unique ID is not included in the subject line of the email.

    This can be overcome in one of two ways.

    1.  Do Not Reply
    Some of our customers set the sender’s name and email address to “Do Not Reply” addresses, along with a warning in the response saying not to reply to this automated email.

    Note you could set up another email-to-case agent that monitors this email inbox to handle any emails are sent to the do not reply address.

    2.  Create the ID using a Formula Field
    The following formula field will calculate the thread ID, which is unique to each case.  This thread ID can then be added in to the Subject line or the body in your email template to make sure the ID is set even when an agent does not manually respond to the customer.

    Click here to see the formula that synthesizes the thread ID.  In the screenshot below, we've stored this formula in a custom field called "Case Communication ID" and added it to the subject line of our autoresponse template.

    E2c3 Note: if you use web-to-case then this technique can also be used to catch any immediate responses that customers may send to your support department, before an agent can respond.

    So in summary:

    1.    Customer sends an email to support@yourcompany.com

    2.    Email-to-Case agent picks up the email and:

    a.    Searches Salesforce to see if a Contact exists with an email that matches the from address of the inbound email.

    b.    If a match cannot be found, or if more than one Contact is found, then the name and address contained in the email are stored in the Web Name and Web Email fields on the Case when it is created.  If a match is found then a Case is created and linked to the Contact and its corresponding Account.

    3.    The appropriate Auto-Response Rule in Salesforce responds immediately with a message detailing Case Number, Subject, estimated response time, customer portal login link, suggested solutions, etc.

    4.    Assignment Rules evaluate the Case details and either places the Case into the correct queue or gives ownership to the correct individual.

    5.    The Case Queue members or the individual to which the Case was assigned are notified via email that they have a Case to work on.

    6.    Agent takes ownership of the Case and replies to the original email explaining that they will be working on their Case going forward.  Note that when the agent replies to the original email, the Open Task that was created is automatically closed.

  • The Magic of the Gartner CSS Magic Quadrant Highlights Dreamforce

    Marco Casalaina Nov 17, 2008

    Once again, Dreamforce was the highlight event of the season for Cloud computing and customer service and support, with over 34 speakers presenting their success in delivering game-changing solutions for customer service and support using salesforce.com.  One of the most exciting events was the presence of Michael Maoz, Gartner analyst, and thought leader, whose vision and insight into the challenges and trends in customer service drew a standing room only crowd to the kick-off of the Customer Service and Support track.

    Read more about Michael’s experience at Dreamforce, as well as his ongoing dialog about the how to respond to the challenges you face every day at his blog: Dreamforce demonstrates salesforce.com innovation in cloud computing.

  • Email-To-Case Best Practices -- Part 1: The Basics

    Marco Casalaina Nov 13, 2008

    People sometimes ask me whether Salesforce.com has an automated solution for turning emails into cases.  The answer is yes!  We've had one for years, and I'm not talking about Outlook Edition.

    Guest blogger and Salesforce.com Service & Support expert Peter Aubrey has written up a primer on Email To Case and what it can do for you.  Here we have it:

    Well, what a few days. Dreamforce was a fantastic experience where customers, partners and some of our most experienced employees shared ideas, best practices and generally showed how you can squeeze every dollar of ROI from your Salesforce implementation.

    One question that came up during the “Roundtable with the Service and Support Pros” session and one that comes up frequently in conversations I have with customers is what is email to case and how do I use it?  Well lets see if I can shed some light on this subject.

    What is email-to-case?

    Email-to-case is a small Java application that can run on any server, desktop or laptop PC.  It is used to connect to an email mailbox on a periodic basis, process any email messages that are currently there by taking the details of the email and creating a Case in Salesforce.  Think of it as like any email client application such as Outlook, Lotus Notes or Thunderbird, it just doesn’t need anyone to operate it!

    If a Contact in Salesforce has the same email address as that in the from address in the email, then the email-to-case agent will link the Case to the Contact automatically.

    If a Contact cannot be found then the details of the sending email are stored in Web Name and Web Email fields on the Case.

    What email servers and mail protocols does email-to-case work with?
    Email-to-case uses IMAP as the email protocol to communicate with your email server so it’s not a question of does email-to-case work with Microsoft Exchange, but does your mail server support the IMAP protocol.

    Exchange, Lotus Notes (Domino) and many other email servers are able to be configured to use the IMAP protocol, however this may not be enabled by default.  Also many web based email services such as Google support IMAP, which is what we’ll be using in our examples below.

    Can email-to-case use IMAPS?
    Yes. Simply state that the mail protocol as IMAPS and the port as 993 in the email2case.txt configuration file.

    How do I stop Spam?
    Email-to-case does not provide any SPAM checking.  It is assumed that customers will provide SPAM filtering capabilities before they reach the email-to-case agent.

    Where do I download and setup email-to-case?

    To download click here: http://wiki.apexdevnet.com/index.php/Members:Email_To_Case

    For instructions on how to setup see the Help files in Salesforce.com.

    Where do I get help and support?

    1. Search for "Setting Up Email-to-Case" in Salesforce.com's help files.
    2. Search for "email-to-case" in the Community discussion forums found here http://www.salesforce.com/community/community/
    3. http://wiki.apexdevnet.com/index.php/Members:Email_To_Case
    4.  If all else fails, you can contact Salesforce.com Support.


    Can I have more than one email-to-case agent running at the same time?

    Yes.  You can have as many agents running at once as you'd like, monitoring at most 50 email inboxes.

    How about some sample settings?
    Below are the settings I use for my email-to-case demonstrations.  There are two configuration files, email2case.txt and sfdcConfig.txt.

    email2case.txt

    <configFile>
        <server1>
            <url>imap.gmail.com</url>
            <protocol>imaps</protocol>
                <port>993</port>
            <userName>******@googlemail.com</userName>
            <password>******</password>
            <interval>1</interval>
            <inbox>inbox</inbox>
            <readbox>ReadMail</readbox>
            <errorbox>ErrorMail</errorbox>
        </server1>
        <server2>
            <url>imap.gmail.com</url>
            <protocol>imaps</protocol>
                <port>993</port>
            <userName>******donotreply@gmail.com</userName>
            <password>******</password>
            <interval>1</interval>
            <inbox>inbox</inbox>
            <readbox>ReadMail</readbox>
            <errorbox>ErrorMail</errorbox>
        </server2>
    </configFile>

    sfdcConfig.txt

    <configFile>
        <sfdcLogin>
            <url>https://www.salesforce.com/services/Soap/u/9.0</url>
            <userName>******</userName>
            <password>******</password>
            <loginRefresh>30</loginRefresh>
            <timeout>6000</timeout>
        </sfdcLogin>
        <notify>
              <notifyEmail>******@gmail.com</notifyEmail>
            <from>******@gmail.com</from>
            <host>smtp.gmail.com</host>
                <port>465</port>
            <user>******@gmail.com</user>
            <password>******</password>
            <service>com.sforce.mail.SMTPNotification</service>
        </notify>
        <attachments>
            <largeAttachmentDirectory>C:\\largeattach\</largeAttachmentDirectory>
            <largeAttachmentURLPrefix>file:\\YOUR_COMPUTER_NAME\largeattach\</largeAttachmentURLPrefix>
            <largeAttachmentSize>5</largeAttachmentSize>
        </attachments>
        <services>
            <com.sforce.mail.EmailService>C:\\EmailAgent\\email2case.txt</com.sforce.mail.EmailService>
        </services>
    </configFile>

    Thank you Peter!  Next week: Part 2: Things To Consider.

    -Marco Casalaina