Salesforce Winter16 release quick summary

Posted on Updated on

winter releaseToday Salesforce published Winter’16 release(Preview) notes. The Winter’16 release of Salesforce.com is now in available under pre-release program. On 11th September Sandboxes will be upgraded, so that your organization gets the look and feel of Winter’16 release. In this release you can find lot’s of new features as well as enhancements like Lightning Experience,  User interface to manage Custom Metadata and Bulkified Flow & Process Builder. Also check out these pilot features,  Broadcast groups (Pilot) are a special type of public, private or unlisted group where only group owners and managers can create new posts. Group members can comment on the posts created by the group owner or manager. Customize the Look and Feel of Flow Interviews (Pilot) use the new REST API resources that give you full access to flows and their interviews. Use the REST API to customize the flow runtime experience to your heart’s desire. Object-Specific Share Locks (Pilot) When you createb edit, or delete a sharing rule, recalculation runs to update record access in the organization. This operation can take some time if you have many users and a lot of datab The object-specific share locks feature enables you to make changes to a sharing rule for other objects, without waiting for recalculation across all objects to completeThe names for some time zones have changed due to an updated internationalization process. For example, the time zone name (GMT+14:00) Line Islands Time (Pacific/Kiritimati) is now (GMT+14:00) Line Is. Time (Pacific/Kiritimati). This feature is available in both Lightning Experience and Salesforce Classic. Lightning Experience is supported with Microsoft® Internet Explorer® version 11, Apple® Safari® version 8.x on Mac OS X, and the most recent stable versions of Mozilla® Firefox® and Google Chrome™. You can’t access Lightning Experience in a mobile browser. Instead, we recommend using the Salesforce1 app when you’re working on a mobile device. Below are the quick summary of Winter’16 release from user’s / customer’s

Customer/User’s Point of view :

1. Allow users to compose rich text posts  : – Format your posts with bold, italic, and underlined characters, and bulleted and numbered lists. The rich text editor is enabled in the Chatter publisher by default in all new and existing orgs. This feature is available in Salesforce Classic only. To enable this feature follow the path Setup | Build | Customize | Chatter | Chatter Settings and then select Allow users to compose rich text posts check-box as shown in the following screenshot

Allow users to compose rich text posts
Allow users to compose rich text posts

To disable and hide the formatting options, deselect Allow users to compose rich text posts on the Chatter Settings page in Setup. The rich text editor isn’t available on announcement, polls, thanks, notes, and Canvas posts.

2. Mute Chatter Posts :-  Control what appears in your news feed and mute posts you’re no longer interested in. This feature is enabled by default in all existing and new orgs. This feature is available in Salesforce Classic only. To mute a post, users select Mute from the post’s drop-down menu. Users can mute posts in their feed on the Home and Chatter tabs, but not on group, profile, or record feeds. If email replies are enabled, users can mute posts by replying to post emails with the single
word mute.

3. Enjoy Fast, Beautiful File Previews :-  The new file preview player in Lightning Experience provides a far richer preview experience, both visually and functionally. Preview images are vector-based rather than pixel-based, so the render quality is higher and doesn’t degrade on high-res screens. Since the new preview player isn’t SWF-based, there’s no need for users to install Adobe Flash Player in order to preview their files.

Enjoy Fast, Beautiful File Previews
Enjoy Fast, Beautiful File Previews

4. Lightning Experience:- Lightning Experience is a completely reimagined interface. Even better, it’s built on our UI platform, so the experience can grow and evolve with your needs. The result is an intuitive, intelligent interface that helps sales reps work more naturally and close more deals faster.

Lightning Experience
Lightning Experience

Check out the below articles to explore the Lighting experience

5. New Login Look and Feel : – Redesigned and improved the usability of the login experience to make it more intuitive for users. In addition to the main login page, the updated design appears when your users forget their password, verify their identity, give apps access to their data, and other login-related tasks. This feature is available in Lightning Experience, Salesforce Classic, and the Salesforce1 mobile app.

New Login Look and Feel
New Login Look and Feel

Salesforce also improved how your users change their password by replacing the password strength indicator with instant feedback indicating whether the new password meets the minimum requirements. Email messages (such as those users receive when they forget their password) are more concise and clear, and subject lines are more relevant

New UI to change password
New UI to change password

6. See Notifications in One Place in Lightning Experience :-  Notifications alert your users when key events occur in Salesforce that they should know about or that require their attention—such as when they receive approval requests or are mentioned in Chatter posts. Lightning Experience includes a list of notifications that users can quickly access from any page. This feature is available in Lightning Experience only.

Notifications in One Place in Lightning Experience
Notifications in One Place in Lightning Experience

7. Salesforce App for Outlook (Generally Available) :- Help your sales teams stay on top of important sales opportunities when team members work in Microsoft® Outlook® Web App (OWA), Outlook 2013, or Outlook 2016 along with Microsoft Office 365™. Salesforce App for Outlook gets your teams managing their sales more efficiently when they add emails and attachments to Salesforce records, create contacts, and view other sales-related records, like leads, opportunities, and cases all directly in their Microsoft email application.

8. Link Custom Lookup Fields from Activities to Other Records : – Now you can link custom lookup fields from
activities to other records. This feature is available in both Lightning Experience and Salesforce Classic. You no longer need to choose which type of record is most important to activities. Keep these limitations in mind when using the Lookup Relationship field for activities.

  • Custom lookups don’t control activity sharing.
  • Each custom lookup field can reference one type of record, one record at a time.
  • Custom lookup fields combine open and closed activities in the same related list, with each custom lookup corresponding to a new related list.

9. Create Beautiful Dashboards Using a New, Feature-Rich Editor (Lightning Experience) : – Lightning Experience introduces a new dashboard editor that’ll usher in a whole new generation of dashboards. Interactive dashboard components give viewers more information and link to data-supplying reports. This feature is available in Lightning Experience only.

Lightning Experience - Dashboard
Lightning Experience – Dashboard

10. Block Sensitive Data in Chats :-  Your customers’ privacy is as important to Salesforce as it is to you. That’s why we’re giving you the ability to block sensitive data in chats in real time. With Live Chat sensitive data rules, you can block specific patterns, such as credit card, Social Security, phone, and account numbers, or even profanity. You can choose to remove the text or replace it with your preferred characters. To create a new rule follow the path Setup | Live Agent| Sensitive Data Rules

11. Create Custom Feed Filters for Case Feed :- Now you can define custom feed filters that let you use multiple criteria to specify the items shown in a support agent’s feed. Custom feed filters help agents focus on the feed items that are most relevant to them. Previously, only standard feed filters, which showed one feed item type at a time, were available for Case Feed. To create a new case feed filter follow the path Setup | Build | Customize | Cases | Feed Filters and then click on the New button and enter the data as shown in the following screen

Case Feed Filter
Case Feed Filter

12. Moderate Inappropriate User-Generated Content In Your Community : -Moderating user-generated content is one of the key factors in keeping your community thriving and healthy. Sure, you might have enabled your users to flag inappropriate content, but now you can do more! Set up moderation rules and criteria to block, flag, and replace keywords in your community members posts and comments. Moderation rules keep inappropriate and offensive language out of your communities, ensuring that your community members always feel respected. Moderation rules also work in communities using the Napili template.
Moderation rules also apply to user-generated content created in Salesforce1.

Criteria and Rule to moderate community
Criteria and Rule to moderate community

Create criteria that defines offensive language or inappropriate content that you don’t want in your community. Criteria are used in rules to moderate user-generated content, such as posts and  comments.

Moderate Community
Moderate Community

13. Report Spam in Chatter Messages : – Your community members can now fight back against spammers by flagging private Chatter messages as inappropriate. Community members can also flag Chatter messages sent to notify them of file shares. To allow private messages to be flagged, turn on flagging in your community.

Developer Point of view:-

1. Create More Roll-Up Summary Fields per Object : – Create 150 percent more roll-up summary fields with an increased limit per object. The default limit on roll-up summary fields per object has been increased from 10 to 25. Gain more insights about related records by adding more roll-up summary fields to your standard and custom objects. This feature is available in both Lightning Experience and Salesforce Classic.

2. New Change Set Components :- New components are available for deployment. The components available for a change set vary by edition. The TransactionSecurityPolicy (Represents a transaction security policy definition, including events monitored and actions to take.) components are now available for change sets.

3. Choose Test Options for Change Sets :- You can now choose which tests to run when deploying or validating an inbound change set in production or sandbox. Test options provide flexibility in how much testing is done to achieve quality and code coverage requirements and can reduce execution time in a deployment. This feature is available in both Lightning Experience and Salesforce Classic. The following test options are available when you deploy or validate an inbound change set.

  • Default :-Keeps the default behavior for all tests.
  • Run Local Tests :- All tests in your organization are run, except the ones that originate from installed managed packages
  • Run All Tests :- All tests in your organization are run, including tests of managed packages.
  • Run Specified Tests :- Only the tests that you specify are run. Provide the names of test classes in a comma-separated list.

4. Debug Apex Code in Eclipse (Generally Available) :-  The Apex Debugger extends the Force.com IDE plug-in for Eclipse and behaves similarly to debuggers available for other languages. Use it in sandbox orgs to root out the bugs in your Apex code. After you’ve set a breakpoint and started a debugging session, you can debug actions in your org that cause the line of code to execute.

Debug Apex Code in Eclipse
Debug Apex Code in Eclipse

5. Run Selected Tests in the Developer Console :- You can now select individual test methods from your test classes to include in a run. You can also choose whether to run tests synchronously, and you can rerun only the failed tests. This feature is available in both Lightning Experience and Salesforce Classic. The Developer Console’s Test menu includes new options.

Run Selected Tests in the Developer Console
Run Selected Tests in the Developer Console

6. Visual Flow Enhancement :- There are several enhancements in Visual workflow, those are followings

A) Reduced Chances of Hitting SOQL Limits with Bulkified Flows :- Salesforce bulkify the elements that look up records, which helps you avoid the limit of 100 SOQL queries per transaction. With bulkification, flows handle more than one operation at a time. You can now upload 200 cases. In one transaction, the same flow is triggered for each case. In the flow, a Record Lookup finds  the corresponding account. The Record Lookup generates one query for every case.

B) Replicate a Picklist Field in a Flow Screen :- After winter’16 release you can now generate a set of choices in a flow that corresponds to a picklist or maybe a multi-select picklist field in Salesforce.

Picklist Choice
Picklist Choice

C) Debug Flows with Better Fault Emails (Beta) :- In  Summer’15 release, Salesforce delivered a new flow fault email that displayed a list of every element that was executed in a flow interview that failed. After winter’16 release you get a lot more information about the flow interview and what happened in each element, as shown in the following screenshot

Enhancements in Flow error email message (Beta)
Enhancements in Flow error email message (Beta)

D) Admins Notified When Interviews Fail to Resume Due to Inactive Owner :- If a flow interview tries to resume and the interview’s owner is inactive, the interview fails. Before, if a flow interview tried to resume but the owner was inactive, it failed silently. Now, the flow admin receives a flow fault email with details about what happened and how to fix it.

E) Dynamic Choice Renamed to “Dynamic Record Choice” :- Salesforce changed the resource name to make the differences between the three choice resources more intuitive. Here’s a detail of the three choice resources for flows.

  • Choice :- Manually creates one standalone choice.
  • Dynamic Record Choice :- Dynamically creates a set of choices based on filtered records.
  • Picklist Choice:- Dynamically creates a set of choices based on the values for an existing picklist or multi-select picklist field.

7. Process Builder Enhancement :- There are several enhancements in Prcoess Builder, those are followings

A) Schedule Multiple Groups of Actions :- You’re no longer limited to just one schedule when you configure time-dependent actions in the Process Builder. With multiple schedules it’s easier to optimize sales responsiveness, automate follow-up on important cases and opportunities, and support your business needs all within a single process, as shown in the following screenshot

Schedule Multiple Groups of Actions
Schedule Multiple Groups of Actions


B) Reduced Chances of Hitting SOQL Limits in Processes :- Salesforce bulkify the elements in processes so you can avoid hitting existing platform limits as your business scales and grows. With bulkification, processes properly handle more than one operation at a time. If a transaction’s operations would normally violate limits, the operations are grouped and performed in batches.

C) Update Records with an Improved UI :- When you configure an update records action, it’s now easier to choose the record that started the process. Previously, you could select the same record that triggered your process, but it may not have been obvious. Now, selecting the same record that started your process is as simple as clicking a radio button, as shown in the following screenshot

Update Records with an Improved UI
Update Records with an Improved UI

D) Admins Notified When Processes Fail to Resume Due to Inactive Owner :- When a process is started by something a user does—creating or editing a record—that user becomes the owner of the process and its associated actions. Previously, if the process tried to execute a group of scheduled actions when its owner was inactive, the scheduled actions failed silently. With this release, the process admin receives a fault email with details about what happened and how to fix it.

8. Declaratively Create and Update Custom Metadata Types and Records :- You can now create, update, and delete custom metadata types and records in Setup as well as the Metadata API. To create or update a custom metadata type follow the path Setup | Build | Develop | Custom Metadata Types. After you have created a custom metadata type, you can add
and update records by clicking Manage Records.

Custom Metadata Types
Custom Metadata Types

9. Visualforce for Lightning Experience (Beta) :- This release contains a beta version of Visualforce for Lightning Experience that is production quality but has known limitations. Visualforce itself remains Generally Available. It’s only the use of Visualforce pages with Lightning Experience enabled that’s considered beta.

10. Make Unlimited Callouts to Internal Salesforce URLs :- You can now make unlimited callouts to endpoints in your Salesforce org’s domain. You no longer need to live in fear of hitting limits when you set up cross-org integrations to synchronize data between your orgs. You can also make unlimited callouts back into your own org to access the Metadata API, use describeLayout(), and so on.

11. Use $A.getCallback() instead of $A.run() :- In lightning component $A.run() is deprecated. Use $A.getCallback() to wrap any code that accesses a component outside the normal rerendering lifecycle, such as in a setTimeout() call. This enables the framework to grant the correct access level to the asynchronous code.

12. Test Salesforce1 with Mobile Devices or Device Emulators (Instead of Desktop Browsers) :- If you’ve been testing your Salesforce1 mobile app setup and customizations in a desktop browser by appending /one/one.app to your Salesforce instance’s URL, this approach no longer works as of Winter ’16. Going forward, we recommend testing your custom pages and apps on supported mobile devices or in a device emulator. Starting with Winter’16, the https://<Salesforce_instance>/one/one.app URL is used exclusively for Lightning Experience, which has its own distinct user interface.

13. Fully Integrate Your External Data with Writeable External Objects) :- Now your users can do anything with external objects that they can do with internal objects, without leaving the Salesforce user interface! For example, users can see all orders that reside in an SAP system and are associated with an account in Salesforce. They can also place a new order or route an existing order without leaving the Salesforce user interface. As a developer or admin, use a specialized set of asynchronous Apex operations to create, update, and delete external object records. This feature is available in both Lightning Experience and Salesforce Classic.

Salesforce1 Enhancement:

1. See More Data Just By Scrolling :- When there’s more information than fits on a single screen, users can now keep scrolling down the page and Salesforce1 continually fetches and loads the older data. It’s no longer necessary to pull up at the end of the page to load more. This enhancement is available in the Salesforce1 mobile browser app and on many pages in the downloadable apps for iOS and Android.

2. Salesforce1 No Longer Supported on Android 4.2 and 4.3 :- Salesforce is now removing support for the older Android 4.2 and 4.3 operating systems. Shortly after the completion of the Winter’16 release, version 8.0 of the Salesforce1 downloadable app for Android will be available from Google Play. This version will install only on Android phones running 4.4 or later. The release of Salesforce1 for Android, version 8.0 marks the formal end of support for Salesforce1 on pre-4.4 operating systems and for earlier versions of Salesforce1 for Android.

3. Increase Productivity by Adding Notes to Records (Generally Available) :- The enhanced Notes tool is generally available in Winter ’16. Expanding on the previous release, users can now take notes for cases, tasks, and events. And if you opt to add the new Notes related list to object page layouts, Salesforce1 users can quickly access related notes directly from records instead of having to switch away to the navigation menu to open the Notes item. Users can also create notes from the related list. Notes is available in the Salesforce1 downloadable apps and in the mobile browser app (except on BlackBerry devices).

4. View Lightning Experience Reports and Dashboards:- Sales reps can bring important reports and dashboards created in Lightning Experience, like Top Open Opportunities, on the road. Reports and dashboards that users create in Lightning Experience
are fully compatible with all versions of the Salesforce1 mobile app. While users can view Lightning Experience reports and dashboards, their appearance isn’t the same as in the new full site user interface.

5. See More Report Rows on iPhone 6 Plus Phones :- In Spring’15, we limited reports to a maximum of 50 rows when accessed from an iPhone 6 Plus device, to improve the stability of Salesforce1 on these devices. Now, all Salesforce1 users can see
up to 2,000 report rows, including users on iPhone 6 Plus devices. Reports are available in all versions of the Salesforce1 mobile app.

6. In-App Alerts When Dashboards Finish Refreshing:- To keep push and in-app notifications focused on business-critical issues, we’ve changed how mobile users learn that a dashboard has finished refreshing. Users see a brief alert at the top of the app instead of receiving a formal notification. This alert is available in all versions of the Salesforce1 mobile app.

In-App Alerts When Dashboards Finish Refreshing
In-App Alerts When Dashboards Finish Refreshing

7. Delete Chatter Groups and Manage Membership Requests :- After  Winter’16 release Group owners or managers can delete groups while on the go. And both group owners and managers can use Salesforce1 to accept requests to join private groups. These options are available in all versions of the Salesforce1 mobile app. Previously, group owners and managers had to use their desktop to perform these tasks.

8. View and Upload Profile Photos Without Chatters :- After  Winter’16 release group using Salesforce1 mobile browser app users can see and upload profile photos, even if Chatter is disabled. If Chatter is turned off for your organization, profiles show a photo and any information a user has entered in the Contact or About sections, but the feed, groups, files, and other Chatter functionality aren’t available.

9. Edit Chatter Group Email and In-App Notification Settings:- Group members can configure their in-app and email notification frequency directly in Salesforce1. This feature is available in all versions of the Salesforce1 mobile app. Tap Manage Notifications in the action bar to select the frequency of group email notifications. If you would also like to receive in-app notifications in Salesforce1, select Every Post.

10. View Related Files From Records :- If you opt to add the new Files related list to page layouts for your standard and custom objects, the related list is available in all versions of the Salesforce1 mobile app.

11. Access External Files in Communities Using Salesforce1 :- Share documents from Google Drive, SharePoint, and OneDrive for Business with customers and other community members using the Salesforce1 mobile browser app. Communities must use the Salesforce Files + Visualforce template and you need to configure Files Connect.

Note :- You can download release notes in HTML format! http://goo.gl/fP39J4 and for PDF format https://goo.gl/EslQBX

Getting Started with Process Builder – Part 42 (Auto remove a record from Chatter Groups)

Posted on

Remove record

After Spring’15 release it also allows users to add a record to Chatter Groups, it means users can collaborate on and discuss the records as a team in the group. Users can only add Account, Contact, Contract, Campaign, Case, Lead, Opportunity and Custom object records to chatter groups. Chatter Group that allows customers and groups in communities don’t support records in groups. Few months back, I had written the below articles

  1. Automatically Add a record to Chatter Group
  2. Add Record to Multiple Chatter Groups – Parsing Multi-Select Picklist fields (Flow)

to discuss a way through which, we can auto add a record to the Chatter Group. This article goes a step ahead and explains, how to auto delete the record from  Chatter Groups. Let’s start with a business use case

Business Use case:-  Pamela Kline is working as System administrator in Universal Container. She has received a requirement from the management to auto remove the Opportunity record from all chatter groups, whenever an Opportunity gets updated as closed won. 

Solution of above business requirement

There are a few possible solutions for the above business scenario, but we’ll use Flow and Process Builder to solve the above business requirement. Before going ahead with the solution you have to understand CollaborationGroupRecord Object.

  • CollaborationGroupRecord :- It represents the records associated with Chatter groups. CollaborationGroupId represent Id of Chatter Group and RecordId represent ID of the record associated with Chatter Group.

 Follow the below instructions to create a Process Builder and Flow to solve the above business requirement

1. click on Name | Setup | App Setup | Create | Workflows & Approvals | Flows
2. Click on New Flow, it will open the Flow canvas for you. Now create a Text Variable VarT_OppId to store the Opportunity record Id (we will pass the value through Process Builder), as shown in the following screenshot

Text Variable
Text Variable

3. The next step is to use Fast Lookup element to get the Collaboration Group Record Ids, in which record gets shared or added. To do this drag-and-drop a Fast Lookup (Enter the name Collaboration Group Records Id) onto the canvas and map the fields according to below details

  • Select Object CollaborationGroupRecord
  • For criteria, select RecordId= {!VarT_OppId}, save the record Id into the SObject Collection Variable {!Soc_CGR}, as shown in the following screenshot
CollaborationGroupRecord Ids
CollaborationGroupRecord Ids

4. Based on SObject Collection Variable {!Soc_CGR} we will decide whether we have to go to the next step or notDrag-and-drop a Decision Element (Enter the name Contains Record Ids or Not) onto the canvas and map the fields according to following screenshot

Contains Record Ids or Not
Contains Record Ids or Not

5. The final step is to use Fast Delete element to remove a record from Chatter Groups. To do this drag-and-drop a Fast Delete (Enter the name Remove a record from Chatter Groups) onto the canvas and map the fields according to following screenshot

Remove a record from Chatter Groups
Remove a record from Chatter Groups

6. Finally your Flow will look like the following screenshot

Auto Remove Record from Chatter Groups

7. Save your flow with name Auto Remove Record from Chatter Groups and close the canvas. Don’t forget to Activate the Flow.

Launch a Flow from Process Builder

Our next task is to create a Process Builder on the Opportunity object to launch a Flow. To create a Process Builder on the Opportunity object follow below instructions

1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder  and click on the New button, Enter Name, API Name and then click on the Save button.

Define Process Properties
Define Process Properties

2. Click on Object node to add object and then select Opportunity object. For the entry criteria, Select when a record is created or edited, as shown in the below screenshot

Evaluation Criteria
Evaluation Criteria

3. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions  (In this case set [Opportunity].Stage Equals Picklist Closed Won) and click on the Save button as shown in the following screenshot

Process Criteria
Process Criteria

4. The next step is to add an Immediate action to Process. Click on Add Action (Under Immediate actions), Select the type of action to create (In our case Flows), and then fill the values into fields to define the action, as shown in the following screenshot

Add action – Flows
Add action – Flows

5. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally the Process will look like the following screenshot

Auto Remove Record from Chatter Groups PB

Don’t forget to active the Process by clicking on the Activate button.

It’s time to test this feature

1) Navigate to the Opportunities tab, create a new Opportunity record and share it with few chatter groups, as shown in the following screenshot

Opportunity record shared with chatter groups
Opportunity record shared with chatter groups

2) Now update the Opportunity stage to Closed Won, as shown in the following screenshot 

Update Stage to Closed Won
Update Stage to Closed Won

3) The record is now removed from chatter groups

Final Outcome
Final Outcome

Note :-  I will suggest you to implement this first on your developer org, test it and then move it to production.


Getting Started with Process Builder – Part 41 (Email notification on TopicAssignment)

Posted on

Email NotificationTopics for Objects, allow us to organize the records by using topics same as Chatter. Topics helps to organize records in a better way and make search easier for you. For example, if you post that you’re working on a presentation for Dreamforce’15, you might want to add the hashtag topic #Dreamforce’15 or #DF15 in your updates. Anyone can click on these topics to find out more information about Dreamforce15 and see what people and groups are talking about Dreamforce15. You can also find all records tagged with topic Dreamforce15. Salesforce allowed us to follow the topic similar to the record, but the glitch is you won’t get an email notification when a Topic is assigned to the particular post. Let’s start with a business use case

Business Use case :- Pamela Kline is working as System administrator in Universal Container. She has received a requirement from the management, whenever a Topic KeyAccount get associated with new chatter text post send out an email notification to Topic Owner.

Solution of above business requirement

There are a few possible solutions for the above business scenario, but we’ll use Flow and Process Builder to solve the above business requirement. Before going ahead with the solution you have to understand TopicAssignment and Topic Object.

TopicAssignment :- It represents the assignment of a topic to a specific feed item or record.
Topic :- It Represents a topic on a Chatter post or record.

 Follow the below instructions to create a Process Builder and Flow to solve the above business requirement

1. click on Name | Setup | App Setup | Create | Workflows & Approvals | Flows
2. Click on New Flow, it will open the Flow canvas for you. Now create a Text Variable VarT_FeedItemId to store the Chatter post Id (we will pass the value through Process Builder), as shown in the following screenshot

Text Variable
Text Variable

Also create few more Text Variables VarT_TopicId, VarT_TopicOwnerId, VarT_TopicOwnerEmail and VarT_TopicAssignment

3. The next step is to use Record Lookup element to get the topic #KeyAccount Id. To do this drag-and-drop a Record Lookup (Enter the name Topic KeyAccount Id) onto the canvas and map the fields according to below details

  • Select Object Topic
  • For criteria, select Name= KeyAccount, save the record Id into the Text variable VarT_TopicId and OwnerId in the Text variable VarT_TopicOwnerId as shown in the following screenshot
Topic KeyAccount Id
Topic KeyAccount Id

4. The next step is to use Record Lookup element to get the topic TopicAssignment id. To do this drag-and-drop a Record Lookup (Enter the name To get the TopicAssignment Id) onto the canvas and map the fields according to below details

  • Select Object TopicAssignment
  • For criteria, select EntityId= {!VarT_FeedItemId} and TopicId= {!VarT_TopicId}, save the record Id into the Text variable VarT_TopicAsignment as shown in the following screenshot
TopicAssignment Id
TopicAssignment Id

5. Based on {!VarT_TopicAssignmentId} we will decide whether we have to send an email alert to Topic Owner or not. Drag-and-drop a Decision Element (Enter the name Contain KeyAccount Topic or Not) onto the canvas and map the fields according to following screenshot

Send out an email notification or Skip
Send out an email notification or Skip

6. The next task is to get Topic Owner email address. For this drag-and-drop a Record Lookup element (Enter the name To get owner email) on the canvas to get the Email Address of Topic Owner, as shown in the following screenshot

To get Topic Owner email
To get Topic Owner email

7. Now we will use the Send Email static action to send out an e-mail to Topic Owner. Navigate to the Palette tab and drag-and-drop the Send Email static actions onto the canvas. Please refer the following screenshot for more details

Send Email
Send Email

8. Finally your Flow will look like the following screenshot

Email Based On Topic

9. Save your flow with name Email based on Topic and close the canvas. Don’t forget to Activate the Flow.

Launch a Flow from Process Builder

Our next task is to create a Process Builder on the FeedItem object to launch a Flow. To create a Process Builder on the FeedItem object follow below instructions

1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder  and click on the New button, Enter Name, API Name and then click on the Save button.

Define Process Properties
Define Process Properties

2. Click on Object node to add object and then select FeedItem object. For the entry criteria, Select only when a record is created, as shown in the below screenshot

Evaluation Criteria
Evaluation Criteria

3. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions  (In this case set [FeedItem].Type Equals Text Post) and click on the Save button as shown in the following screenshot

Process Criteria
Process Criteria

4. The next step is to set the time for schedule action. For this click on Set Schedule available under Scheduled actions. Set time for scheduled actions as shown in the following screenshot

Set Time for Actions to Execute
Set Time for Actions to Execute

5. Now we have to add a Time-based action into the Process to launch a Flow. Click on Add Action (Under Scheduled actions), Select the type of action to create (In our case Flows) and then fill out the fields to define the action as shown in the following screenshot

Add action – Flows
Add action – Flows

6. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally the Process will look like the following screenshot

Email based on Topic PB

Don’t forget to active the Process by clicking on the Activate button.

It’s time to test this feature

1) Navigate to the Chatter tab, create a new Text post and add KeyAccount topic to it, as shown in the following screenshot

Text Post with KeyAccount Topic
Text Post with KeyAccount Topic

2) Wait a few seconds and then check your inbox

Email notification
Email notification

Note :-  I will suggest you to implement this first on your developer org, test it and then move it to production.

Getting Started with Process Builder – Part 40 (Adding a line break in Process Builder formula)

Posted on

line-break

There is a formula function called BR() that allows us to insert a line break into text formula expressions or string of text, As shown in the following screenshot

BR Function in a formula
BR Function in the formula

The expected result in the formula field is
LastName
FirstName

But you will get the actual result similar to the following line because of the known issue (https://success.salesforce.com/issues_view?id=a1p300000008YkZAAU)

LastName_BR_ENCODED_FirstName_BR_ENCODED_

Let’s start with a business use case

Business Use case :-  Pamela Kline is working as System administrator in Universal Container. She wants to update the Lead’s Description field with Lead Name, Lead’s Last Name in the next line of Lead’s First Name.

Solution of above business requirement

One workaround I’ve found is to use Custom label and SUBSTITUTE function in process builder formula. Follow the below instructions to create a Process Builder and Custom Label to solve the above business requirement

1. click on  Setup | Build | Create | Custom Labels
2. Click on New Custom Labels, it will open the new window for you. Now create a new custom label, as shown in the following screenshot

Custom Label
Custom Label

3. To create a new Process, click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder  and click on the New button, Enter Name, API Name and then click on the Save button.
4. To create a new process from scratch, click on the New Button available on Process management page. A popup will appear, where you have to enter the Name (Use Line break in Process Builder formula as name), API Name and Description as shown in the below screenshot.

Define Process Properties
Define Process Properties

5. Click on Object node to add object and then select Lead object. For the entry criteria, Select when a record is created or edited, as shown in the below screenshot

Evaluation Criteria
Evaluation Criteria

4. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions  (In this case select No Criteria – Just execute the actions!) and click on the Save button as shown in the following screenshot

Process Criteria
Process Criteria

5. The next step is to add an Immediate action to Process. Click on Add Action (Under Immediate actions), Select the type of action to create (In our case Record Updates), and then fill the values into fields to define the action, as shown in the following screenshot.

Add Action - Update Records
Add Action – Update Records

Where $Label.NewLine represents the custom label

6. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally the Process will look like the following screenshot

Line break in Process Builder formula

Don’t forget to active the Process by clicking on the Activate button.

Proof of concept

Lead Record
Lead Record

Getting Started with Process Builder – Part 39 (Auto assign a topic to a record)

Posted on Updated on

Topic for object

Topics for Objects, allow us to organize the records by using topics same as Chatter. Topics helps to organize records in a better way and make search easier for you. For example, if you post that you’re working on a presentation for Dreamforce15, you might want to add the hashtag topic #Dreamforce15 or #DF15 in your updates. Anyone can click on these topics to find out more information about Dreamforce15 and see what people and groups are talking about Dreamforce15. You can also find all records tagged with topic Dreamforce15. Let’s start with a business use case

Business Use case :-  Pamela Kline is working as System administrator in Universal Container. She has received a requirement from the management, whenever an Opportunity is created with an amount more than 1M auto add existing topic #KeyAccount to that particular opportunity record. 

Solution of above business requirement

There are a few possible solutions for the above business scenario, but we’ll use Flow and Process Builder to solve the above business requirement. Before going ahead with the solution you have to understand TopicAssignment and Topic Object.

TopicAssignment :- It represents the assignment of a topic to a specific feed item or record.
Topic :- It Represents a topic on a Chatter post or record.

Follow the below instructions to create a Process Builder and Flow to solve the above business requirement

1. click on Name | Setup | App Setup | Create | Workflows & Approvals | Flows
2. Click on New Flow, it will open the Flow canvas for you. Now create a Text Variable VarT_TopicId to store the topic KeyAccount Id, as shown in the following screenshot

Text Variable
Text Variable

Also create another Text Variable VarT_OppId to store the Opportunity Id

3. The next step is to use Record Lookup element to get the topic #KeyAccount Id. To do this drag-and-drop a Record Lookup (Enter the name Topic KeyAccount Id) onto the canvas and map the fields according to below details

  • Select Object Topic
  • For criteria, select Name= KeyAccount, save the record Id into the Text variable VarT_TopicId as shown in the following screenshot
Topic KeyAccount Id
Topic KeyAccount Id

4. Final step is to add #KeyAccount topic to the opportunity record, drag-and-drop Record Create element (Enter the name Assign Topic to a record) onto the canvas and map the fields according to below details.

  • Select Object TopicAssignment
  • For criteria, select EntityId{!Var_OppId} and TopicId{!VarT_TopicId}, as shown in the following screenshot
Assign Topic to a record
Assign Topic to a record

5. Finally your Flow will look like the following screenshot

Assign a topic to a record

7. Save your flow with name Assign a topic to a record and close the canvas. Don’t forget to Activate the Flow.

Launch a Flow from Process Builder

Our next task is to create a Process Builder on the Opportunity object to launch a Flow. To create a Process Builder on the Opportunity object follow below instructions

1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder 
2. To create a new process from scratch, click on the New Button available on Process management page. A popup will appear, where you have to enter the Name (Use Auto assign a topic to a record as name), API Name and Description as shown in the below screenshot.

Define Process Properties
Define Process Properties

3. Click on Object node to add object and then select Opportunity object. For the entry criteria, Select only when a record is created, as shown in the below screenshot

Evaluation Criteria
Evaluation Criteria

4. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions  (In this case set [Opportunity].Amount Greater than or Equals Currency 1000000) and click on the Save button as shown in the following screenshot

Process Criteria
Process Criteria

5. The next step is to add an Immediate action to Process. Click on Add Action (Under Immediate actions), Select the type of action to create (In our case Flows), and then fill the values into fields to define the action, as shown in the following screenshot.

Add Action - Flows
Add Action – Flows

6. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally the Process will look like the following screenshot

Auto assign a topic to a record

Don’t forget to active the Process by clicking on the Activate button.

Proof of concept

1) Navigate to the Opportunities tab and create a new Opportunity record with an amount 1200,000, as shown in the following screenshot

Create a new Opportunity
Create a new Opportunity

2) Checkout the Topic section of the page 

Proof of concept
Proof of concept

Note :-  I will suggest you to implement this first on your developer org, test it and then move it to the production.

 

Getting Started with Visual Workflow – Part 1 (Launch a Flow using Lightning App)

Posted on Updated on

Flow and Lightning App BuilderThe series of article on the Visual Workflow is to discuss the basic concepts and to show the power of Flow. Visual Workflow allows you to automate business processes by building applications, known as Flows, that collect, update, edit, and create Salesforce information, and then make those flows available to the right users or systems. Flows can execute logic, interact with the Salesforce database, call Apex classes, and guide users through screens for collecting and updating data. There are various ways through which you can launch your Flows, one of them is Lightning App Builder. Let’s start with a business use case

Business Use case :-  Rachel Gillett is working as System administrator in Universal Container. She has developed a flow to get  the Sales reps feedback. She wants to use the Lightning App to launch a Flow.

Solution of above business requirement

We I’ll use Flow, Visualforce Page and Lightning App Builder to solve the above business requirement. Steps to create a Lightning App to launch the Flow are mentioned below

  • Create a Flow
  • Embed the Flow in a Visualforce Page
  • Create a Lightning Page in Lightning App Builder
  • Add Visualforce page as a component
  • Activate the Lightning page. Activate adds your app the Saleforce1 Mobile navigation

Follow the below instructions to solve the above business requirement

1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Flows and then click on the New Flow button, it will open the Flow canvas for you. Create a sample Flow (Save it with the name Survey) as shown in the following screenshot

Sample Survey Flow
Sample Survey Flow

If you want step-by-step guide to create the above flow, then check out this article Survey Powered by Visual Workflow

2. The next step is to embed the Flow in a Visualforce Page (Save it with the name Flow), to do this you can use the below mentioned code

<apex:page >
<flow:interview name=”Survey”/>
</apex:page>

3. Now we will create a Lightning Page in Lightning App Builder. Click on Setup | Build | Develop | Lightning App Builder, then click on the New button under Lightning Pages to start Lightning App Builder. Choose one Column template (A template defines the basic behavior and layout of the page you plan to create) and click on the Next button. In the next screen, i.e. Create a New Lightning Page pop-up enter a unique name (TestApp) for your new page and click on the Finish button, as shown in the following screenshot

New Lightning Page
New Lightning Page

4. Drag-and-drop Visualforce Standard Lightning component onto the canvas, as shown in the following screenshot

Add Standard Component to Lightning Page
Add Standard Component to Lightning Page

You can use the control panel to select a Visualforce page (In our case select Flow) that you want to include, as shown in the following screenshot 

Controls for the App Builder
Controls for the App Builder

Once you’re done, click on the Save button. It will save the current definition of your app.

5. Final step is to activate the Lightning page. Activate adds your app the the Saleforce1 Mobile navigation.

Activate the Lighting Page
Activate the Lighting Page

It also allows you to set the Tab visibility.

Proof of concept

IMG_0265

 

Getting Started with Process Builder – Part 38 (Automatically Create Cases from Unresolved Questions)

Posted on Updated on

CaseAs our community grows, organization have to ensure that customers get quick answers to their questions. Question-to-Case allows moderators to escalate unresolved questions to cases from the question detail page. You can automate this escalation process using Process Builder or Workflow Rule. It allows you to use Question-to-Case and automation tool in several ways, for example

  • Create a case from a question if, the question has received more than two likes without reply.
  • Create a case from a question immediately if the question contains the word Urgent Help.

Let’s start with a business use case

Business Use case :-  Rachel Gillett is working as System administrator in Universal Container. She has received a requirement from the management, auto create a case whenever a new question is created, which contains word Urgent help in the title.

Solution of above business requirement

There are a few possible solutions for the above business scenario, but we’ll use Process Builder and Create a record action to solve the above business requirement. Follow the below instructions to create a Process Builder to solve the above business requirement

1. Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder  and click on the New button, Enter Name, API Name and then click on the Save button
2. To create a new process from scratch, click on the New Button available on Process management page. A popup will appear where you have to enter the Name (Use Automatically Create Cases from Unresolved Questions as name), API Name and Description as shown in the below screenshot

Define Process Properties
Define Process Properties

3. The next step is to add entry criteria. For this click on Add Object, select Question object and for the entry criteria, Select only when a record is created, as shown in the below screenshot, once you are done click on the Save button

Evaluation Criteria
Evaluation Criteria

4. The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions  (In this case set [Question].Title Contains Urgent Help) and click on the Save button, as shown in the following screenshot

Process Criteria
Process Criteria

5. Once you are done, click on the Save button it will redirect you to Process Canvas. Now we have to add an Immediate action to create a case, for this we will use Create a Record action. Use Field Picker to select the field Description and Text Entry field to enter a comment or sentence. Please refer the following screenshot for more information

Add action - Create a Record
Add action – Create a Record

7. Once you are done, click on the Save button, it will redirect you to Process canvas. Finally the Process will look like the following screenshot

Automatically Create Cases from Unresolved Questions

Don’t forget to active the Process by clicking on the Activate button.

Proof of concept

 1. Now create a question from the community user login via the UI

Create a question
Create a question

2. Navigate to the case tab and check out the newly created case

Question to case
Question to case

Note :-  I will suggest you to implement this first on your developer org, test it and then move it to production.