Skip to main content

#Service Cloud71 debatiendo

Hello,

 

I have an org that uses email-to-case and we run into the issue where customers will search their email for their last communication with us and reply to it rather than sending a new email. This creates the problem of reopening a very old case but also associates the incoming email to an old case for a different support issue.

 

It seems like you cannot edit the ParentId of an EmailMessage record to associate the new email to a different case. Ideally, when someone replies to an old case, I'd like to be able to create a new case and relate the new email to that case rather than it being related to an old case and issue.

 

Does anyone know of a solution to be able to associate emails with a different case?

 

Thanks,

Tyler

4 respuestas
  1. Ayer, 10:08

    @Tyler Berryhill

      

    good question, and it depends on which threading mode your org uses. Cloning the EmailMessage onto the new case does NOT change the thread token/headers already sitting in the customer's inbox, so under the old Ref ID (ref:_...:ref) threading their next reply still carries the old case's token and lands back on the original case - the clone alone won't re-route it. Header-based / Lightning threading behaves differently: Email-to-Case matches an inbound reply on the Message-ID in the In-Reply-To/References headers and attaches it to the MOST RECENTLY CREATED EmailMessage whose Message-ID matches, so if your cloned EmailMessage preserves the original Message-ID, that clone becomes the newest match and future replies thread onto the NEW case instead of the old one. So Michael's flow works, but only when (a) you're on header-based/Lightning threading and (b) the clone keeps the original Message-ID/headers - on Ref ID threading it won't move the conversation. For the root 'replies reopening closed cases' issue, the cleaner lever is switching to header-based/Lightning threading and using the Email-to-Case reopen settings so a reply to a closed case spins up a new case rather than reopening the old one. If this helps, please mark it as the Best Answer so it helps the next person - thanks!

0/9000
2 respuestas
  1. 3 sept, 11:03

    @Hitesh Sharma check Setup → Knowledge Settings and make sure Salesforce Knowledge is enabled. Also verify that your profile/permission set has the required Knowledge User permission and access to Knowledge objects. 

0/9000

I am trying to create a validation rule where users can not create a new Event Object if a checkbox is checked on a field on the Contact object. They are different Objects, so I was unable to grab the field in the validation rule. But the "Create New Event" form is on the Contact Object page.

Any ideas on how to achieve this?

 

Prevent Creation of Event Object on Service Cloud with an Inactive Checkbox Field on Contact Object

 

#Service Cloud

1 respuesta
  1. 2 sept, 21:35

    Yes, this is possible if the Event has a relationship to the Contact that you're creating the Event from.

    In Salesforce, validation rules can reference fields on a parent record through a cross-object formula. Salesforce supports cross-object validation rules using relationship fields.  

     

    For example, if your Event is related to a Contact through WhoId

    (standard Activity relationship), you may be able to reference the Contact checkbox in a validation rule on Event. 

     

    Example:

    AND(

    ISNEW(),

    Who.Contact_Inactive__c

    )

    Things to check

    1. Does the Event actually have the Contact populated when the validation fires?
      • If users click New Event from the Contact record page, Salesforce typically populates the Contact relationship automatically.
    2. Can you see the Contact field in the formula editor?
      • In the validation rule formula editor, click Insert Field and look for the relationship path (often under Who for Contacts/Leads).
    3. If the checkbox field is not accessible through a relationship path
      • You may need a before-save Flow, record-triggered Flow, or Apex trigger to prevent creation instead.
0/9000

 Salesforce documentation states that to edit/remove Account Team Members, users need Read access on Users, Edit access on Accounts, and to be the Account Owner or above the Account Owner in the role hierarchy.  

Edit/Remove access on Account Team Members

 

 However, the same documentation also states that users in a Public Group with Edit access to an Account granted through a Sharing Rule can add/remove Team Members.  

 

Article: 

Working with Teams on Your Accounts | Salesforce Help

  

image.png

I tested the Public Group approach. The user in my project already has Read access on Users and Edit access on Accounts, and further I created the Public Group receives Read/Write Account record access through a Sharing Rule. 

 

Even after this, they do not get the Edit/Delete row actions and also don't see the Remove All Members option. 

 

Can someone clarify how the “remove” access mentioned for Public Groups is expected to work in Lightning?  

Note: I would prefer not to use the other options, such as ownership, Modify All, role hierarchy, or a custom Flow running in system mode, just to provide this access for couple of users.

 

So, looking for confirmation does removing a team member still require the user to be the Account Owner, above the Account Owner in the role hierarchy, or have broader access such as Modify All? If so, what does the Public Group documentation mean by “add/remove Team Members”?

 

#Salesforce Developer  #Account Teams  #Service Cloud

1 respuesta
  1. 2 sept, 16:14

    Hi Sana, 

     

    Good catch — this looks like a genuine documentation inconsistency, and your test result matches known real-world behavior: the Lightning UI's Add Team Members / Remove All Members buttons are gated by a hardcoded ownership/role-hierarchy check, not by generic "Edit access to the Account" from any source. Sharing-Rule-granted edit access (via Public Group) satisfies the underlying object permission for API/Apex DML, but doesn't unlock the row-level UI actions in Lightning. 

     

    So to directly answer your question: yes, in practice, removing/adding a team member via the standard Lightning UI still requires the user to be the Account Owner, above the Owner in role hierarchy, or have Modify All — Sharing Rule access alone doesn't surface those UI controls, regardless of what the "Public Group" bullet implies. 

     

    What that bullet likely refers to: doing it via the API/Apex directly (not the standard related-list buttons) — a user with Sharing-Rule-based Edit access can successfully insert/delete AccountTeamMember records programmatically, even though they won't see the buttons in the UI. Worth testing that specifically (e.g., via Workbench or an anonymous Apex insert as that user) to confirm — if that succeeds, it confirms the doc is describing API-level access, not the Lightning UI experience. 

     

    If you need this for a couple of specific users without ownership/Modify All, a small custom LWC/Quick Action calling Apex (with sharing) to add/remove members would work, since the underlying permission is already there via your Sharing Rule — you'd just be bypassing the UI's hardcoded ownership check. 

     

    Reference:

    https://help.salesforce.com/s/articleView?id=sales.accountteam_add.htm&language=en_US&type=5

     

     

    Worth submitting feedback on that Help article too, since the wording does read as if the UI buttons should work for Sharing-Rule access. 

     

0/9000

Has anyone integrated whatsapp with Salesforce, I need to create case record using WhatsApp, and related activities like create a case, share latest update etc. pls suggest in case there is any document  

 

#Salesforce Developer  #TrailblazerCommunity  #Sales Cloud  #Service Cloud

1 respuesta
  1. 1 sept, 15:34

    Hi Raviraj, 

     

    Try the below path: 

     

    1. Enable WhatsApp as an Enhanced Messaging Channel in Service Cloud, connecting your Meta Business/WhatsApp Business account. 

    2. Set up Omni-Channel routing (queue + routing config, or an Omni-Channel flow) so incoming WhatsApp sessions land with the right team, including support for bot-based routing. 

    3. Auto-create a Case from an incoming message using an Einstein Bot or Flow — the bot captures the customer's intent, and on unresolved/escalation intents, invokes a flow action to create a Case, tagging it back to the messaging session. 

    4. Send updates back on the case (like "latest update") using Messaging Components — reusable structured message templates (Question, List Selector, etc.) that reps or flows can push into the WhatsApp thread, including dynamic content pulled from the Case record. 

    5. For proactive/automated updates outside an active session (e.g., status changed to Resolved), use Template-Based Automated Messages — these require Meta-approved templates and the WhatsApp Outbound Messages SKU. 

     

    The exact Trailhead module walking through this entire flow end-to-end (WhatsApp setup → routing → messaging components → case creation) is "WhatsApp for Agentforce Service," which I'd start with since it's hands-on with the Ursa Major Solar org. 

     

    References: 

    -

    https://trailhead.salesforce.com/content/learn/modules/whatsapp-for-service-cloud/get-started-with-whatsapp

     

    -

    https://trailhead.salesforce.com/content/learn/modules/whatsapp-for-service-cloud/extend-whatsapp-with-messaging-components

     

    -

    https://help.salesforce.com/s/articleView?id=service.messaging_whatsapp_templates.htm&language=en_US&type=5

     

     

0/9000

One of our users is running into an issue where she cannot open standard objects records like accounts and opportunities without getting an error message. Here's the error message: TypeError: undefined is not a valid component, or does not extends LightningElement from "lwc". You probably forgot to add the extend clause on the class declaration. Does anyone know how to resolve this issue?

12 respuestas
  1. 31 ago, 15:34

    Hi all, I faced this issue today after doing so much search  got this thread . Still if someone like me lands here let me tell you solution for it  . Its Session management issue go to  Setup--> Session Management--> Lightning Web Security  and mark it checked . I dont know why salesforce dont make this as default .

0/9000

I am currently working on my Superbadge: Report Administration for Agentforce Readiness, and no matter the changes I make, I keep getting this error message:

The Open Opps Accts Ownership report isn't using the correct filters or isn't grouped as specified, by owner and owner active status (not account active status). Make sure you're using a type of filter that crosses objects and restricts the records displayed to only accounts with open opportunities. Review the Help article for resources related to this challenge.

I have followed the resource articles, and still cannot seem to find a solution for this. Has anyone come across this before?

#Service Cloud #Trailhead Superbadges #Agentforce
4 respuestas
0/9000

Hello 

 

We are looking to implement Embedded chat on a local site so that we can test out a new MIAW implementation. 

I have provided the code snippet from the Embedded Chat Deployment to our front end team (which works successfully when internally testing in the pre-provided visualforce test page) but on trying to initiate the chat from external test site, they are receiving an error as follows: 

 

[EmbeddedServiceBootstrap] Attempted to initialize bootstrap multiple times

 oa @ bootstrap.min.js:28

 h @ bootstrap.min.js:30

 (anonymous) @ bootstrap.min.js:182

 initEmbeddedMessaging @ webchat.html:11

 onclick @ webchat.html:28

 

I am looking for just a bit of guidance where I may point my web team to troubleshoot this issue.  Is this error message a "common" thing that might point to salesforce config.  Or would it be more a front end technical error. 

 

Really just looking for guidance or where I might look to troubleshoot this issue when I don't know about front end stuff and they don't know about Salesforce.  Any help appreciated! Thanks 

 

Niall 

 

 

 

#Service Cloud

6 respuestas
  1. 25 ago, 21:02

    Hi @Kamlesh Regar

     

     

    Checking back through our documentation - I can see that we did receive the same error you have detailed. However, we were receiving the error 100% of the time - though you have reported to be inconsistent, so I am not sure if the same issue will resolve. 

     

    We made 2 changes at the same time and resolved the error so I also could not be confident if 1 of these changes would have resolved or it needed both changes. 

     

    Change 1

     

    We had originally added the salesforce provided script in the head tag instead of the body tag.  The script has now been moved into the body tag. 

     

    Change 2 

    We needed to add the site domain into the "Trusted URL" option within setup menu.  After adding the URL, it was essential that we needed to set the "frame-src" checkbox option to "true"   

    Hi Checking back through our documentation - I can see that we did receive the same error you have detailed. 

    I am not very confident in this area of front end setup, so I really hope this can help solve your issue!

0/9000

Hi to all,

In our org we have a lot of cases with internal and customer files that can be too big (around 1GB) and now we are out of file storage limit.

I’m trying to download old and large files but I can’t download it manually because they are a lot.

I paid for the app in the app exchange “Files Downloader” but with the large file it’s so slowly and sometimes crashes. It don’t allow me to download multiple files simultaneously (only the small one can download simultaneously) and it’s so boring.

I tried to export file from Salesforce setup with a scheduled export but it download binary files and it’s not a solution for us.

Anyone have a solution for my problem? I read a lot of articles and I watched a lot of video but without a solution! Thanks

#Service Cloud
10 respuestas
  1. 9 may 2024, 22:32

    Yes here is how you do it:

     

    1). Use DataLoader and export all of the 'ContentDocument'

    2). In the CSV file that gets extracted, look for the 'LATESTPUBLISHEDVERSIONID' Column

    3). Add another column to the Excel file on the right of 'LATESTPUBLISHEDVERSIONID' and use the formula =CONCATENATE("URL",R2)

     

    Basically what we are trying to do is fill this next column with urls like : 

     

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/LATESTPUBLISHEDVERSIONID

     

    So at the end of it all you should have rows and rows that look like this:

     

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/SOMEVERSION

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/SOMEVERSION

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/SOMEVERSION

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/SOMEVERSION

    https://YOUR_INSTANCE_URL/sfc/servlet.shepherd/version/download/SOMEVERSION

     

    Now all you have to do is get a chrome extension called 'TAB SAFE' which is listed here: 

     

    Tab Save (google.com)

     

    And whatever block of urls you put there, it will down load all of the files. 

     

    If you dont like dealing with excel and are more excel savvy, you can write custom Apex to export the URL's. As long as you can copy paste those URL's in that Chrome extension, it should be able to download all those files.

     

    Let me know if this works for you.  

0/9000

Dear Forum  

I have a query that Can we add "Specify the time criteria for this rule" other than 0min or 30 min like (12min,20 min) in esclationn rule. 

 

#Service Cloud  #Trailhead Challenges

1 respuesta
  1. 22 ago, 10:16

    Short answer: no - native Case Escalation Rules only let you pick 0 or 30 minutes for 'Age Over' (you enter the hours, then choose 0 or 30 from the dropdown). Custom values like 12 or 20 minutes are not possible there; it is a fixed platform limit. 

     

    For minute-precise escalation, use one of these instead: 

     

    1. Record-Triggered Flow with a Scheduled Path (easiest): add a scheduled path set to run, say, 12 or 20 minutes after your date/time field (or after the case is created / meets criteria), and put the escalation action - reassign to a queue, send an email, update a field - in that path. Scheduled paths accept any custom minute value. 

     

    2. Entitlements + Milestones (the full SLA framework): 'Minutes to Complete Milestone' accepts any number, and Milestone Actions fire at exactly that time - ideal if you are tracking support SLAs. 

     

    Go with the Flow scheduled path if you just need custom timing; use Milestones if you want a proper SLA model on Cases. 

     

    If this helps, please mark it as the Best Answer so it helps the next person - thanks 🙂

0/9000