For an advanced solution to convert OST files to PST, choose a tool that supports mailbox preview, selective conversion, batch processing, and recovery of inaccessible or corrupted OST files. MailsDaddy OST to PST Converter is a practical option for converting OST data into Outlook-compatible PST format without requiring the original Outlook profile or an Exchange Server. It supports emails, attachments, contacts, calendars, tasks, and other mailbox items while helping preserve the original folder structure. Users can select specific folders, apply date filters, and export data into formats such as PST, EML, MSG, MBOX, HTML, and PDF. The software also offers options for handling large OST files and splitting the resulting PST when needed. Its preview feature helps users check mailbox contents before exporting. The demo version allows users to preview data and export the first 20 items per folder, making it useful for evaluating the conversion process before purchasing a full license.
I have a CreatedDate on Case (standard field) which is Opened Date/Time.
I want to see the day of the week this is.
CASE(MOD(DateValue(CreatedDate) - DATE(1985, 6, 24), 7), 0, "Sunday", 1, "Monday", 2, "Tuesday", 3, "Wednesday", 4, "Thursday", 5, "Friday", 6, "Saturday", "Unknown" )
I tried this formula above, but the day was a day off.
For example 08/10/2023 is Thursday, I'd like my new formula text field to show "Thursday", so I can run a Report on what days my Cases are coming in.
15. Aug. 2023, 17:13 Hello @Andrew Bishop,
You can make use of the WEEKDAY standard function to fulfill your requirement.
Try with the below formula
CASE( WEEKDAY( DATEVALUE(CreatedDate) ), 1, "Sunday", 2, "Monday", 3, "Tuesday", 4, "Wednesday", 5, "Thursday", 6, "Friday", 7, "Saturday", "Unknown")
Hope that helps :)
Hello I will like to export and import flows, is there a way to do this without using changesets?
7. Nov. 2023, 12:59 Hi @Mohsin Ali,
You can do the same using VS Code.
I hope this helps!
Thanks
Saurabh
I have a screen flow that I'd like users to be able to access two different ways: from a field on the Opportunity Product object, as well as a Detail Page Button. What's paramount is where the screen flow returns at its end: I need it to end on a view of the product related list on the related Opportunity record. I got it to work successfully on the field version. Here's my formula field:
HYPERLINK("/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product" &"?recordId=" &Id &"&retURL=/lightning/r/Opportunity/" & OpportunityId & "/related/OpportunityLineItems/view",
"CLONE",
"_self"
)
But for the life of me, I can't get the Button version of the URL to go back to the Product related list. I figured out that I can't reference the Opportunity Id via merge field in this scenario, so I created a formula field called Opportunity_Id__c, which just utilizes a CASESAFEID version of the Opportunity Id.
In order to save time, here is a list of the various versions I've tried that DON'T work:
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/{!OpportunityLineItem.Id}
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/Opportunity/&OpportunityId&/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/Opportunity/OpportunityLineItem.Opportunity_Id__c/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/Opportunity/{!Opportunity.Id}/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/Opportunity/{!OpportunityLineItem.Opportunity_Id__c}/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/Opportunity/&OpportunityLineItem.Opportunity_Id__c&/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/OpportunityLineItem.Id}
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/{!OpportunityLineItem.Opportunity_Id__c}/related/OpportunityLineItems/view
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
OpportunityLineItem.Id}&retURL=/lightning/r/&OpportunityLineItem.Opportunity_Id__c&/related/OpportunityLineItems/view
Anyone have any thoughts, tips, or suggestions?
#Flow #Flows #Screen Flow #Formulas
21. Sept., 14:54 ,
Thank you for the suggestion. I tried that, exactly as you laid out, but it still did not work.
I am happy to announce, however, that I spoke with Salesforce support on Friday and they did get it to work. Confusingly, it was one of the options I had tried before, which is in the list of my original post.
This is the URL that worked:
/flow/Opportunity_Product_Screen_Flow_Clone_Opportunity_Product?recordId={!
}&retURL=/lightning/r/Opportunity/{!OpportunityLineItem.Opportunity_Id__c}/related/OpportunityLineItems/view
We have a Flow with a formula that looks at a Discount Code object and pulls in any relevant Discount Percentage or Discount Amount. The Discount Percentage part of the formula works perfect. The Discount Amount, although it is set as a Currency field (16,2) with 2 decimal places, returns many more decimal places. As an alternative solution, I tried to create a Discount_Amount_Number__c Number field that referenced the Discount_Amount__c currency field in the formula, but that is throwing an unhandled exception in the Flow.
Here are two formulas I've tried. What am I doing wrong or what can I do/change to just turn the value of the Discount Amount in the Flow formula?
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c})),
{!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c},
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c})),
{!Get_EventClass_Records.Course__r.Course_Fee__c} * ({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c} / 100),
0
)
)
ROUND(
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c})),
{!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c},
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c})),
{!Get_EventClass_Records.Course__r.Course_Fee__c} * ({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c} / 100),
0
)
),
2
)
Thanks for you help.
John
20. Sept., 06:42 Hi John, the ROUND(..., 2) approach is correct for limiting the calculated result to 2 decimal places.
One thing to check is the data type of the Flow formula resource. Make sure the formula resource is set to Currency, rather than Number/Text, and that you aren't converting the Currency field to another type elsewhere in the Flow.
You can also simplify the formula slightly:
ROUND(
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c})),
{!Get_Discount_Codes_with_Discount_Percentage.Discount_Amount__c},
IF(
NOT(ISBLANK({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c})),
{!Get_EventClass_Records.Course__r.Course_Fee__c} *
({!Get_Discount_Codes_with_Discount_Percentage.Discount_Percent__c} / 100),
0
)
),
2
)
Also, if the value is displaying as something like 500.00500 despite the underlying Currency field being (16,2), the extra digits may be coming from how the Flow output is being displayed/formatted, rather than from the Currency field itself.
18. Sept., 11:33 The SysTools Email Backup Tool can help you create a local backup of your Gmail account. It allows you to select specific Gmail folders, apply date filters, and save emails with attachments in formats such as PST, MBOX, EML, MSG, and PDF. This is useful if you want to keep a separate copy of your Gmail data on your local disk instead of downloading emails manually.
17. Sept., 13:15 Hi Mark,
You can add an exception for Closed Lost by checking the previous Stage. Since you want users to be able to move directly to Closed Lost only when the Opportunity has already reached at least Still Qualifying Opportunity, you can wrap your existing logic with an exception like this:
AND(
ISCHANGED(StageName),
NOT(
AND(
ISPICKVAL(StageName, "Closed Lost"),
CASE(
PRIORVALUE(StageName),
"SQLs to be allocated", 1,
"Still Qualifying Opportunity", 2,
"Requirements Captured", 3,
"Proposal Generated", 4,
"Negotiation", 5,
"Deal Committed", 6,
"Closed Won", 7,
"Closed Lost", 7,
0
) >= 2
)
),
CASE(
StageName,
"SQLs to be allocated", 1,
"Still Qualifying Opportunity", 2,
"Requirements Captured", 3,
"Proposal Generated", 4,
"Negotiation", 5,
"Deal Committed", 6,
"Closed Won", 7,
"Closed Lost", 7,
0
)
>
CASE(
PRIORVALUE(StageName),
"SQLs to be allocated", 1,
"Still Qualifying Opportunity", 2,
"Requirements Captured", 3,
"Proposal Generated", 4,
"Negotiation", 5,
"Deal Committed", 6,
"Closed Won", 7,
"Closed Lost", 7,
0
) + 1
)
The important part is the exception:
AND(
ISPICKVAL(StageName, "Closed Lost"),
<prior stage value> >= 2
)
So Still Qualifying Opportunity or any later stage can move directly to Closed Lost, while an Opportunity still in SQLs to be allocated cannot.
So I've searched and tried various validations in different posts from here to stackexchange to reddit.
I am looking for a validation where in the Phone field, the number can be either domestic or international but must start with a + symbol.
US numbers need to have the 1 country code, so should look like +1xxxxxxxxxx.
International numbers need to start with a + and then the country code so like +44xxxxxxxxxx.
Always with a + and NO dashes in btwn.
Has anyone successfully done this please? TIA!!!
17. Sept., 13:14 Hi Barb,
You can handle this with a Validation Rule using REGEX(). For example, if the field is Phone:
AND(
NOT(ISBLANK(Phone)),
NOT(REGEX(Phone, "^\\+[0-9]+$")),
OR(
LEFT(Phone, 2) <> "+1",
LEN(Phone) <> 12
)
)
However, because you want US numbers to be exactly +1 + 10 digits, while international numbers can have different country-code and phone-number lengths, I’d recommend separating the US and international checks:
AND(
NOT(ISBLANK(Phone)),
NOT(
OR(
REGEX(Phone, "^\\+1[0-9]{10}$"),
REGEX(Phone, "^\\+[2-9][0-9]{6,14}$")
)
)
)
This requires:
- + at the beginning
- digits only after +
- US: exactly +1 followed by 10 digits
- International: + followed by 8–15 digits, with no dashes/spaces
You can adjust the international length if your organization's phone-number requirements are more specific.
Based on this Known Issue it looks like the ISCLONE() function isn’t supported in debugging entry criteria? Is this the final word on this?
Assuming the reasoning behind the Trigger Order functionality is accurate, then having a decision check after a flow initializes is not the same as handling in entry criteria. When building and testing flows we need to be able to test the design, not something “close enough”.
17. Sept., 11:59 Hi Sean,
Yes, the Known Issue indicates that ISCLONE() in the Start/entry criteria of a record-triggered Flow cannot be used with Flow Debugging. The limitation is specifically with debugging the flow when ISCLONE() is part of the entry criteria.
And I agree that moving the check into a Decision element isn't exactly equivalent—the flow has already started, so it doesn't test the same entry-condition behavior.
For testing, one workaround is to temporarily move the ISCLONE() logic into a Decision element while validating the rest of the flow, then restore it to the Start criteria. For the actual platform limitation, I'd also keep an eye on the Known Issue for any status/update from Salesforce.
I'm getting stumped on this. Org wants to create a push notification for overdue tasks. I have done it using a record-triggered flow with 7 days and 2 days as being notifications email to say Task is about to be due. Could it just be a push notification which stays in Salesforce, notification sent to the notification bell once daily .
#Trailhead Challenges #Trailhead #Salesforce Admin #TrailblazerCommunity #Sales Cloud #Formulas
16. Sept., 16:35 Yes, you can check the formula syntax directly in Flow Builder. Formula resources are created within the Flow, so you won't find their syntax in Object Manager.
To view the syntax:
- Open your Flow in Flow Builder.
- Go to the Manager tab.
- Under Resources, select your Formula resource (Due in 7 Days / Due in 2 Days).
- Open the formula to view or edit its syntax.
For example:
Due in 7 Days:
{!$Record.ActivityDate} = TODAY() + 7Due in 2 Days:
{!$Record.ActivityDate} = TODAY() + 2You can also review Salesforce's formula documentation for additional functions and syntax.
Hope this helps!
If you find this response helpful, please mark it as the Accepted Answer, as it may also help other Trailblazers facing a similar issue. 😊