28 July 2016
Restrict contact lookup to show only contacts related to account in case object
id=906F000000098YiIAI https://developer.salesforce.com/forums/?id=906F000000098YiIAI
Not quite the use case we're looking for but so I deleted this one. But may use these lookup filters in another location.
27 July 2016
Partner Community Demo Setup
Create Users
In order to create Users in a Partner Community, assuming the partner community is already set up, you'll need to make sure the Partner's company exists as an account in your org. On their account page select "Enable Partner User".
Create Contacts associated with that account and Enable them too as Partner Users. Once enabled you'll be taken to their user profile page.
Create APAC Queues
For the demo, the partner managers want to see multiple queue with assignment based on what country the email is coming from. I don't have the domain filters yet, where emails from .nz will go to the New Zealand queue, but I do have contacts associated with accounts in the different countries. When emails come in from those contacts, based on the account billing country they'll get assigned to the correct queue.
Assign Reps to View Queue and List View
I've added members of the partner account to the queues. Everyone is in all the queues for now except Edwina. She's only in the HK queue.
Example:
Create Contact's Emails to Match Country Accounts
Used a bunch of gmail accounts and assigned those emails as contacts to accounts in the different countries.
My fake email will go to the AU queue, for instance.
20 July 2016
Project Overview - Email to Case rollout
Set Up Customer Support
business hours
holidays
queues
Created a new Role - Validation Team
To make it easier to add reps to the queue I'm splitting up the support team as they actually are. Half are support reps. Half are Validation reps.
Updated Sharing setting to account for this role.
Edit | Del Owner in Role, Internal and Portal Subordinates: Director of Global Sales Role: NA Customer Support Rep Read/Write Read Only Private Read/Write
Edit | Del Owner in Role and Internal Subordinates: Director of Support Role: NA Customer Support Rep Read/Write Read/Write Private Read Only
assignment rules
escalation rules
Support Settings
- Changed default case owner from Janette Houser to Jennifer Welty
- Enable Feed Tracking
- Page Layout for Feed-Based Cases
- didn't match a few items
- Send Email Button
- On-Demand Email (yet)
- review settings
- Updated all of the list views so only the queue members can see the cases in the queue
- Customizing the 'Custom Console Components' in the page layout.
- Re-Open a closed case when an email is received
- Why can't I create a new email trigger in production?!
- Answer:
- You cannot create or edit Apex classes or triggers in a production organization (unless it's a free trial). To use Apex classes or triggers in a production organization, you need to write them in a Sandbox or free Developer Edition organization--along with the required automated tests to meet or exceed code coverage requirements--and then use one of our deployment tools (the Force.com IDE or the Force.com Migration Tool for Ant) to push your classes and triggers to production. The reason for this is that all Apex code must be covered by automated tests in order to be deployed to production. If you tried to write a trigger in production, you wouldn't have a test so it wouldn't save. If you tried to write the test first, the test would fail because your trigger wasn't working, so you couldn't save that either. So instead, you do all of your development work in a non-production organization, where these rules are not enforced, and then you can deploy your code and tests to your production organization to make their functionality available to end users.
- While validating the inbound change set it errors out. I'm posting to the community.
- That's pretty incredible. Stephanie Dodson basically walked me through the whole change set deployment. I needed to:
- turn off the validation rule for first name on contact records
- create an apex class to test the apex trigger then run it in the dev. console
- add both the class the trigger to the outbound change set in the sandbox.
- inbound validate and deploy to production
- Notify Reps when customer responds to case. - created the two workflow rules in production
- mark New Email field when customer email
- unmark New Email when rep replies
- Set One 'From' address for reps to choose from.
- Omni-Channel
- Set up email templates such that the customer support signature, subject line and email body are defaulted.
- created the default email template and 3 templates i've received so far.
- Service Cloud
- Enable On-Demand E2C
- Define and Verify Routing Addresses
- Created global action to Send Email and make it part of the feed on the Case page.
- Email address from Case not updating the Contact record. Here's the fix. - can't create this until email-to-case is enabled
*Bold font mean complete in production org.
18 July 2016
Created Email Templates / Email Alert / Process
I've created a Process that kicks off an email template to desired recipients based on requirements.
Email Template
Simple Template to let certain departments know of an updated field in Salesforce.
The account, {!Account.Name}, has agreed to mandate Company.com service on {!Account.Mandate_Start_Date__c}.
Account Details {!Account.Link}
Account Rep {!Account.OwnerFullName}
Account Region {!Account.Region__c}
Salesforce Automation
This will provide the necessary info to each department.
Email Alert
Two Alerts have been created, one for Marketing and one for Support. The email templates are sent to the managers of each department.
Example of the Marketing Alert
Email Alert Detail
Description - Email Marketing of Mandate Service
Email Template - Marketing Notification of Mandate Service
Unique Name - Email_Marketing_of_Mandate_Service
Object - Account
From Email Address - Default Workflow User's email address
Recipients - Role and Internal Subordinates: Director of Marketing
Additional Emails -
Lightning Process Builder
The process builder kicks off the alerts based on some filters.
Marketing needs to know immediately and Support needs to know on the date populated in Salesforce.
Set up email templates such that the customer support signature, subject line and email body are defaulted.
We need all of the email templates to include the body of the previous email.
This seems to be working so far.{!EmailMessage.TextBody} in the end of the HTML template.
We need the subject line to be pulled from the original email.
So far, so good...
{!EmailMessage.Subject}
We need customer support reps signatures to be uniform and have the image for our company included.
Using a trick in one of the success forum posts I've created a custom rich text field and added the image as a link in that.
Customer Support
Company link | LinkedIn | Facebook
"company image as a web link"
Company link | LinkedIn | Facebook
"company image as a web link"
"legal info"
This is also working so far.
>>>>>
New thoughts 15th Aug 2016
added html into the out-of-the-box signatures in salesforce.
<p><strong>Luke Higgins</strong><br />Salesforce Administrator<br /><strong>P</strong> +1 (615) 555-7537 | <strong>M</strong> +1 (615) 555-3875<br /><a href="https://www.con.com/">Con.com </a> | <a href="https://www.linkedin.com/company/concom">LinkedIn </a> | <a href="https://twitter.com/C">Twitter</a><br /><img src="https://www.con.com/media/72637/conb_190_67.png?width=190&height=67" alt="" width="190" height="67" /><br />One platform etc... </p>
<p>The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, or distribution of the message, or any action or omission taken by you in reliance on it, is prohibited and may be unlawful. Please immediately contact the sender if you have received this message in error. Thank you.</p>
used this site. http://wordtohtml.net/
>>>>>
New thoughts 15th Aug 2016
added html into the out-of-the-box signatures in salesforce.
<p><strong>Luke Higgins</strong><br />Salesforce Administrator<br /><strong>P</strong> +1 (615) 555-7537 | <strong>M</strong> +1 (615) 555-3875<br /><a href="https://www.con.com/">Con.com </a> | <a href="https://www.linkedin.com/company/concom">LinkedIn </a> | <a href="https://twitter.com/C">Twitter</a><br /><img src="https://www.con.com/media/72637/conb_190_67.png?width=190&height=67" alt="" width="190" height="67" /><br />One platform etc... </p>
<p>The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, or distribution of the message, or any action or omission taken by you in reliance on it, is prohibited and may be unlawful. Please immediately contact the sender if you have received this message in error. Thank you.</p>
used this site. http://wordtohtml.net/
14 July 2016
Omni-Channel for Administrators
Omni-Channel for Administrators
Omni-Channel is a comprehensive customer service solution that lets your call center route any type of incoming work item—including cases, chats, or leads—to the most qualified, available agents in your organization. Omni-Channel integrates seamlessly into the Salesforce console-.
Available in: Salesforce Classic |
Omni-Channel is available in: Professional, Enterprise, Performance, Unlimited, and Developer Editions |
User Permissions Needed | |
---|---|
To set up Omni-Channel: | “Customize Application” |
To modify permission sets and profiles: | “Manage Profiles and Permission Sets” |
Omni-Channel is a flexible, customizable feature, and you can configure it declaratively—that is, without writing code. Use Omni-Channel to manage the priority of work items, which makes it a cinch to route important work items to agents quickly. Manage your agents’ capacity to take on work items so that they’re given only the number of assignments that they can handle. You can also define which agents can work on different types of assignments. For example, you can create one group of agents to respond to leads and sales inquiries, and another group that helps customers with support questions.
Best of all, Omni-Channel routes all these assignments to the correct agents automatically. Agents no longer have to pick and choose work assignments manually from a queue, which saves everyone in your call center time, effort, and brainpower. Because it’s easier for agents to work on their assignments, they can assist your customers faster and more effectively and close assignments more quickly.
Let’s get started!
- Get to Know Omni-Channel: Walkthrough
Set up Omni-Channel to push work to the most skilled and available agents in real-time.
Set One 'From' address for reps to choose from.
Set One 'From' address for reps to choose from.
Added Org Wide email address for the customer support email. Verified the address
all this did was add another From address to the drop list to choose from.
Trying to remove the personal email option to email from.
Will this work? Asking Mike if he can help.
In lieu of code I've set up a validation rule instead.
Validation Rule Detail |
from_address_is_support_email_only | |||
NOT(FromAddress = "supporttest@company.com") | |||
'From' Email Address must be Support... | Top of Page | ||
from address is support email only | |||
Created By | Modified By |
Updated:
OR (NOT(Incoming),(FromAddress = "supporttest@confirmation.com"))
(OR
($UserRole.Id = "00E12000000Wu22", $UserRole.Id = "00E120000012x39", $UserRole.Id = "00EA0000000aY19", $UserRole.Id = "00E12000000FPvB")
,(OR (NOT(Incoming),(FromAddress = "supporttest@confirmation.com")
)
)
)
7/20/2016 update
added filter that this only triggers the validation for the customer support role reps.
AND(OR
($UserRole.Id = "00E12000000Wu22", $UserRole.Id = "00E120000012x39", $UserRole.Id = "00EA0000000aY19", $UserRole.Id = "00E12000000FPvB")
,(OR (NOT(Incoming),(FromAddress = "supporttest@confirmation.com")
)
)
)
Setting this up for APAC too.
AND
(OR
( $User.ProfileId = "00e12000000bWKh", $User.ProfileId = "00e12000000fJ2B", $User.ProfileId = "00e12000000fJ2u")
,(OR (NOT(Incoming),(FromAddress = "supporttest@confirmation.com")
)
)
)
Notify Reps when customer responds to case.
Notify Reps when customer responds to case.
Building this so that when emails come in from the customer reps can see a notification of that in a list view._____
Hi,
There is a workaround, First you need to create a custom field or flag (Checkbox) on Case, The use workflow to update the field whenever a new email arrives, Use this steps
To create the workflow rule that updates a case field on an inbound email:
- Go to Setup | App Setup | Create | Workflow & Approvals | Workflow Rules and click New Rule.
- Select Email Message as the Object the workflow rule applies to and click Next (note that Email Message will only be available if email-to-case has been enabled in the org).
- Enter a name for the workflow rule and select when it should be evaluated.
- Enter the following criteria to enable the workflow rule to fire when an email is inbound:
- 'Email Message: Is Incoming' equals 'True'
- Add additional criteria if you only want the workflow rule evaluated under certain circumstances such as Case: Closed equals True, or Case: Status does not contain Closed.
- Click Save & Next
- Click Add Workflow Action and select New Field Update
- Enter a name for the Field Update and then select the case field to update.
Note:- You have to update that field again via using Workflow once any step taken on the email.
Hope this helps,
--
Thanks,
Swayam
_____
Need to remove the New Email checkbox check after the case is replied to.
Done:
Re-Open a closed case when an email is received
Re-Open a closed case when an email is received
Knowledge Article Number | 000220076 |
---|---|
Description | Sometimes a case is closed, and then the customer replies with new information or a new issue. The email gets attached to the original case, however, since the case is closed, there's no notification that the customer is waiting on a response. We'll show you how you can use a simple workflow rule/field update to reopen such cases. |
Resolution |
5. Click Save & Next.
9. Activate the rule, and you should be able to make it working. 6. Click Add Workflow Action. 7. Enter a name for the Field Update and then set the Status case field to update. 8. Select the value you would like the re-opened case to be set to, and then Save (please note, you might want to add a new Case Status value for "Case Reopened", to signify when one is reopened via email - you'll need to have that value created before you can select it.) |
Putting this in now.
Added the Case REOPENED item too. Needed to update list views to add reopened cases to them.
This gets me half-way there.
If the customer emails back to an open or closed case we want the case to go back through the Assignment rules. (in case rep is out of the office or something)
came across this
I'll admit. I have no idea what this code means but I've created an email Trigger (setup - email - triggers) and pasted the code in there.
Posting the trigger here just to get it out there.
trigger EmailMessage on EmailMessage (after insert) {
List<Case> casesToAssign = new List<Case>();
AssignmentRule ar = [SELECT Id FROM AssignmentRule WHERE SObjectType = 'Case' AND Active = true LIMIT 1];
Database.DMLOptions dmlOpts = new Database.DMLOptions();
dmlOpts.AssignmentRuleHeader.AssignmentRuleId = ar.Id;
for(EmailMessage e : Trigger.new) {
if(e.Incoming) {
Case c = new Case(Id = e.ParentId);
c.setOptions(dmlOpts);
casesToAssign.add(c);
}
}
update casesToAssign;
}
Created by frontendloader
When I was speaking with one of the support reps a few months ago, they were showing me what they did with emails from customers. The rep who was going to handle a particular email notified the rest of the team that she was taking that email. So, in order to eliminate this ambiguous case assignment I'm enabling Omni-Channel routing with the ability to push cases to reps.
Email address from Case not updating the Contact record. Here's the fix.
Email address from Case not updating the Contact record. Here's the fix.
Create a Process
This will allow the case's email address to populate the associated contact's email address IF that contact's email address is not already populated.
Have Cases Sent Back Into the Appropriate Queue if Customer Replies
Have Cases Sent Back Into the Appropriate Queue if Customer Replies
Our support team wants customer email responses associated with open or closed cases to go back into the Support Queue they were assigned to.
Using the New Email field I created earlier I'm creating a Process that assigns Cases to queues based on the Account's region, Account Type AND when New Email IS CHANGED and IS TRUE.
Working so far...
Subscribe to:
Posts (Atom)