• Joseph Kennedy
  • 30 Points
  • Member since 2016
  • Sr. Salesforce Admin
  • RetailMeNot

  • Chatter
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
  • 2

We have implemented Salesforce Service cloud and Service Console for our customer care agents.

A few stakeholders recently went to a salesforce lead training and they saw the following picture:

Fig. 1
Note the agent facing chat widget on the left part of the screen.

I looked at doing this declaritively and it's not possible. I submitted a ticket to salesforce premier success and they said it would be a custom development item.

I have done a substantial amount of research and can not find any development guide for agent facing widget customization. I have attemptedt o build an LWC which would leverage an ifram and call the widget during chat but due to an inability to find any documentation on the agent facing widget I did not get very far.

Could anyone help me get pointed in the right direction on how to acheive this. 

Thanks in advance for your help. 


Hi all, 

I just created the following trigger.
trigger ClosedOpportunityTrigger on Opportunity(after insert, after update) {
    List<Task> taskList = new List<Task>();
    // Create a set of Opportunities with no Tasks
    Set<Id> opportunityIdsWithTask = new Map<Id, AggregateResult>([
    SELECT WhatId Id FROM Task
    WHERE WhatId IN :trigger.new
    GROUP BY WhatId
    // Add an Task for each Opportunity if it doesn't already have one.
    // Iterate over Opportunities that are in this trigger but that don't have Tasks.
  for (Opportunity a : [SELECT Id,Name FROM Opportunity
                     WHERE Id IN :Trigger.New AND
                     Id NOT IN :opportunityIdsWithTask]) {
       taskList.add(new Task(Subject = 'Follow Up Test Task',
                             whatId  = a.Id));

    if (taskList.size() > 0) {
        insert taskList;

It proved tricky to arrive here as I had to step through all of the errors I was recieving in developer console to arrive at this point where my trigger would successfully compile. I was attempting to reference the Task in the nested SOQL query but quickly learned that Tasks can't be used in joined inner selects. That led to me searching and finding the set portion of this trigger. 

Would someone mind helping me understand what exactly is going on with this portion of the trigger? I understand everything except for the .keyset() method at the end. Thanks in advance!

Hey Devs, 

Can someone explain what is happening on the back end of Salesforce to cause a validation rule not to fire unless 'ISNEW()' is encorporated?

I'm curious to know why it needs to be added when I call out a created date? Any insight here would be great.
Hey SFDC Devs, 

I am starting out on my Dev journey and I am taking a Dev 1 course on Udemy and I just made it to triggers. 

We are discussing trigger conext variables and I think I almost get it. 

The one item of confusion that I was wanting some clarifcation and coaching on is ther verbiage of "Versions" in the context variable langauge. 

For example, in this knowledge article:

trigger.new states that it returns all new versions of the sObject records. Why use the word version there and not just say "returns all new sObject records from the object the trigger is referencing". 

Any insight here would be greatly appreciated. 
Hi Developer friends, 

I am trying to write a batch class that replaces "@" with "=" and appends "@example.com" to the end of all contact emails as part of my post UAT refresh steps. How could I go about accomplishing this?

Hi Developer friends, 

I am trying to write a batch class that replaces "@" with "=" and appends "@example.com" to the end of all contact emails as part of my post UAT refresh steps. How could I go about accomplishing this?


In the Admin Advanced --> Advanced Formulas --> Using Picklists in Formulas module, the challenge requirment is as follows:

"Create a validation rule formula that does not allow a user to mark a case as escalated unless the priority is set to 'High', the case was not Closed when Created, and the case isn’t closed."

I am setting up a valid formula (did a bunch of tests on Case object so I'm sure it is valid and I'm not going to post it here to let this remain as a challenge). I am using four fields, which are IsClosed, IsClosedOnCreate, Priority and Status, as understood from the challenge description.

However, checking the challenge gives me this error. Apparently, despite the description, we gotta use IsEscalated field instead of IsClosed:
User-added image

After I change IsClosed field with IsEscalated in the formula, I get this error:
User-added image

I am reproducing this scenario in a Case record and validation rule triggers.

Did anyone manage to pass this challenge? If not, could the Trailhead Dev Team have a look at wording of this challenge please? 

Thanks in advance.