Queue members are not getting email notification - salesforce

Whenever I assign a case to Queue, the users in that particular queue are not getting email notification, that the cases are allotted to them. I have checked the following:
In the support settings, send email notification when case owner is changed is checked.
In the deliverability, it is set to "All Email"
The user have the read/write permission to that particular record as well
Even after this, nothing seems to be working.
Can anyone help?

Have you checked the Queue's definition?
And if you use assignment rules - in each step you might want to specify the email template.

go to Setup > Process Automation Settings > Enable 'Send an email each time automation updates the same record' set to true

Related

How to write a complex reference to objects in email templates for Salesforce

I need to create a reference in an email template. for that I need to reffer a standard Contact objecect. For that I have a Custom Object Email Info, that has a lokup to standard Accounts.
So in the email I have to have value of the custom field Email_info__c from the custom object Email_info__c(the object and it's field have the same API names) while entering the Contact.
In the end both Contacts and my custom object have the lookups to Account, but not to each other, and there is no lookup from Acount, for now.
My first guess was to refer to the first child object Email info in the header of the VF template
relatedToType="Email_Info__c"
and then refer to it in the body as
{!RelatedTo.Account_r}
but then I would need a lookup from Accounts to Email Info to be able to refer deeper
{!RelatedTo.Account_r.Email_Info__r.Email_Info__c}
but, I don't think that it'll work that way or that it meets the needed criteria. Can someone share if there is an option at all to get the Email Info to Contacts through Accounts without creating a lookup on Accounts?
The task is to have a middle referred object, not a direct lookup:
It depends a bit how you are going to use this email template. What will the send be triggered from. Account? Contact? Email Info record? Will it be fired from a workflow or user will be instructed to navigate to account record and start composing the message?
If your relatedTo is really Email_Info__c then you don't have to do anything, you have all the data hidden in {!relatedTo.Id}, {!relatedTo.Name}, {!relatedTo.Email_Info__c} (you said the field name is same as object's name)
If your email starts from "Account" and you can guarantee accounts will have 1 email info record on related list - something like this might work:
<messaging:emailTemplate subject="hi stack" recipientType="Contact" relatedToType="Account">
<messaging:plainTextEmailBody >
{!relatedTo.Opportunities[0].Id} {!relatedTo.Opportunities[0].Name} {!relatedTo.Opportunities[0].StageName} {!relatedTo.Opportunities[0].CloseDate}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>
from Account (relatedTo) I'm going down to the related list of Opportunities, I'm picking 1st one (at random... but if you have just 1 record it'll be fine) and display whatever I want.
If your relatedTo and recipient both have to be Contact it starts to get bit messier, normal visualforce syntax will not allow you to go "up" (from Contact to Account) and then "down" (from Account to related list of email infos)
You'd need to start with something like https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_email_templates_with_apex.htm and then figure out how to pass the Id of account to it and run a query for email infos related to this account. https://salesforce.stackexchange.com/questions/245930/pass-id-from-visualforce-email-template-to-controller might be a good start, poke me if you're stuck.

when creating a new case, is there a way to show a flag or pop-up that states Active/Inactive on an account field, or when the account is select

I will be feeding the account object with the list of deactivated accounts, and flag it with a "Y" id active.
I would like one of two things to happen; when you select the account, if its flagged Y/1, then flag the case creation window with the text Y", or add a popup to state that the account is deactivated.
The other option is for it to Not allow the case to be created if the account is deactivated.
is there a way to do this?

Salesforce Email logging on custom object

could really use some serious help on this. Below is the current business case:
We have the standard accounts, contacts, and opportunities objects. We've also created a custom object, and let's call it 'Customers.'
As of now, 'customers' are related to accounts.
Our users have einstein activity capture on, so all the email interactions get logged to the 'Account' level that the contact is related to, which makes sense.
The problem is that I want those emails tracked on the 'Customer' activity feed too, not just the 'Account' or 'Contact' activity feed.
Will creating a junction object between contacts and customers allow this activity to be shown in the 'customer' field? Or is there a simpler way to do this? Thank you in advance as this is a major roadblock I am facing right now.
I haven't worked with Einstein Activity Capture yet. What does it save stuff as? EmailMessage? Task? Either allows adding custom fields so you could add lookup to your Customer__c. With Task it's even simpler, it has that mutant lookup thing, Customer should appear as available option if it has "Allow Activities" ticked in setup.
Assuming that gives you something - next step would be to maybe make a custom quick action with some fields prepopulated, maybe a trigger to go "up" to Account and then to Customer(s)... Because out of the box
https://help.salesforce.com/articleView?id=aac_limitations.htm&type=5
Custom objects aren’t supported. When emails are sent from a custom
object, the email is logged on the activity timeline of the associated
contact.
You can upvote an idea: https://trailblazer.salesforce.com/ideaView?id=0873A000000EAIiQAO

Using Drupal rules to email users with a role but only once

We have been trying for a while to solve a Drupal Rules problem.
The situation is;
On every cron run we would like to check for Users who have a certain Role.
We will then send an email to those Users.
But we only want this email to go once.
We are thinking therefore that we will create a new custom/hidden User field called 'email sent'. Then the rule will;
EVENT: On every cron run
CONDITION: Check for Users who have the role AND have a null value in that field
ACTIONS: Send an email to the
users AND set the value of the user 'email sent field to 1.
We think this is possible but we can't see how you can set up a rule to do this.
Any help really appreciated
I think that you can resolve your problem via a custom module where create an action rule that set this fields. In situation like yours I follow this method. Search hook_rules_action_info().
Or if you use profile2 module you can see if there is a rule that can be set this value. I think that there is because Profile2 support Rules.
M.

How can I set the approvers for all steps in an approval process?

I have an approval process with three steps, all of which are set to Assigned Approver = Manually Chosen. When the user submits the record for approval, I'd like to have Apex code determine who the three approvers are. However, I don't see a way to hook into the approve request submission.
If I submit the approval with Apex Using Approval.process(), I can set the initial (and only the initial) approver with ProcessSubmitRequest.setNextApproverIds(). This call leads you to believe you can specify multiple approvers since it takes an array of Ids, but the array can only have 1 element, or else runtime a error occurs.
Once I know what the first approver's response is, I can use Apex to submit her response and, again, set the immediately next approver by passing a ProcessWorkitemRequest instance to Approval.process(). An important note here is that the approver must not approve via the standard UI. Instead, they must do something that invokes the Apex code so that we can set who the next approve should be. A trigger on the object under review, or a custom button + VF page could be used to invoke the Apex.
My main question is, how can I make sure that the user does not use the standard approval buttons? They appear in the Approvals related list and on the salesforce home screen. It may be in other places as well. Again, if they use the standard submit and approve buttons, I don't have any way to hook in to set the next approver.
We ran into a similar issue a while back and solved it by creating custom lookup fields to certain users. For example, if we wanted to route an approval request up to a Director and then a VP, we added Director__c and MarketVP__c fields to the object. These fields were populated in code by climbing the role hierarchy whenever a request was submitted. Our approval process's steps then chose who the assignee would be based on the values in these fields (first step would be assigned to Related User: Director and the second step would be assigned to Related User: Market VP, etc.).
To get around the standard approval button issue (we had other reasons for hiding it), we just hid that from their homepage layouts and built our own VF page and included it in a custom homepage component. This component functioned as an inbox with links to any records that were pending the user's approval. All user interaction with the approval objects was handled through other VF pages with their own Approve and Reject buttons. I don't know if the objects you're submitting to the approval process even use VF pages, so this may not be feasible for your situation.
A lot of customization for something that shouldn't need it, I know. Might not be the answer you're looking for, but hopefully it's some food for thought.

Resources