Total Pageviews

Saturday, December 29, 2018

Have you E- Quip -ed yourself!!


We all in the business of consulting are required to showcase our acumen to prospective clients via presentations / decks, etc.  Any such document creation requires different and distributed teams to work and collaborate together.  In such a scenario we all struggle with numerous email chains and versions of document to keep track of the latest approved content. In short working in a collaborative environment may prove to be chaotic and keeping track of latest content is a painful aspect.  We all have struggled with filenames like - "SalesDeck_v1", "SalesDeck_vn" , "SalesDeck_vn_final" or "SalesDeck_vn_final_latest".

Quip - collaboration suite is the answer to above mentioned chaotic situation. Quip enables us to create, edit, discuss, and organize our work using the features provided  in its content collaboration platform. It fuels a culture of action across any organization with documents, slides, and spreadsheets that stay up-to-date and keep the conversation in focus.
One might ask why use Quip , why not any other cloud based ( I trying to avoid taking names here) solution which also provide online documents. The reason is explained in the following diagram taken from Quip"s official website .


Additionally the features provided by Quip will further make the argument in favour of using quip much stronger.  Some of the features which Quip provides are:-
  • Real-time collaboration –Quip provides built-in chat and also supports co-editing and commenting to create version-free slides together, faster.
  • Live Charts — It provides Interactive charts which connect to real-time data in Quip Spreadsheets. One can even connect charts to spreadsheets backed by Salesforce Reports. 
  • Live Data — It allows Embeding of live data from Salesforce and third-party systems through Live Apps. One can keep their slides up to date with real-time data easily and automatically.
  • Feedback Prompts — It facilitates feedback through its feature of :-
  1. adding questions
  2. polls
  3. comment prompts in our slides 
to engage our audience, get feedback, and drive decisions faster.
  • Engagement Insights – It also enables users to check which stakeholders have viewed our presentation, and which slides have the most (or least) engagement.
Quip is the latest feather in Salesforce's kitty of acquisitions and attempt to make its platform robust and responsive to need of modern day work reality. 

Friday, December 28, 2018

Does the multitude of BPA Tools in SFDC puzzle you?


Salesforce is a very dynamic platform which keeps adding amazing tools and features to its kitty on a quarterly basis. The addition of new forward looking features shows that through its platforms like - "Idea-force or Ideas" , "Success-force","Feedback Channels" , "Community Platforms" its constantly listening to what its user community and customers are talking w.r.t. improvements , enhancements, small and big modulations to bring about customer delight. While that provides us multiple options to implement our solutions at times one may feel a bit lost about which tool to adopt for the problem at hand.
One of the classic examples is multiple tools available in salesforce for BPA or "Business Process Automation" tools. We all are aware that the options available are :-
  • Workflow Rules
  • Approval Processes
  • Process Builder
  • Cloud Flow Designer
Please note these are admin or configuration tools (some will need developer skills) , we also have the option of full-blown custom solution using code , which should be avoided as they pose challenges with house-keeping and maintenance in the long run.
The question which might bother a rookie is that- which tools to use and when? Well let's consider some scenarios to answer that. 
Scenario I 
Let's say your sales-rep has submitted a request for organising a "Training Activity" which goes to his/her manager for approval. In such scenarios where approvals are required by a supervisor utilise - "Approval Process"

Other set of Scenarios
Let's say our Business Process requires action based on certain values of the record in such a case we can utilise Work Flow Rule, Cloud Flow Builder and Process Builder

Scenario II
Simple/single  if-else condition warrants use of "Workflow Rule". Also if your use-case involves :-
  1. only updating fields of the record or its parent record  
  2. sending outbound message without code
  3. creation of tasks
  4. email alerts
Scenario III
Complex if-else condition warrants use of "Process builder". Also if your usecase involves:- 
  1. update of any related record 
  2. post to chatter
  3. creation of records
  4. email alerts
  5. invoke flows or other process
  6. Things cannot be done via process builder are sending outbound messages without code and getting input from end user.
Scenario IV
If your usecase requires getting information from Users or Customers , which is then followed by doing something with those inputs one needs to use Cloud Flow Designer . Also use CFD if your usecase involves the following:- 
  1. requires user interaction
  2. update of any  record 
  3. delete records
  4. post to chatter
  5. creation of records
  6. send email
  7. launch a flow
  8. Things cannot be done via CFD are sending outbound messages without code and cannot invoke process.
 The above scenarios provide an insight into which path to embark upon while automating your business processes.  More in my following blog , bye for now, have a great holiday season!

Wednesday, December 26, 2018

Look and Feel aka Themes & Their Detection in Salesforce



Now a days we all invariably or mostly are using the Lightning Experience theme. Of late there are quite a variety of themes in Salesforce , have you ever felt the need to know the theme which is currently being applied when a page renders. You might say, big deal I know the theme I have applied to my pages so why bother. Well as per the documentation of Salesforce and many practical experiences , the rendered Theme may not be the same as the theme applied to the page and its guided by the browser being used and the final outcome is decided not by "preference and permission" but the ability of the browser to support the selected Theme. It is necessary that I mention the term "user interface context" for clarity on this topic , its nothing but the technical term for UI rendered. Also w.r.t. U. I. C. ("user interface context") it's vital to understand the difference between the user interface context requested by the user, and the user interface context the user is actually in. The former is guided by preference and permission applied and the later is the view which is actually rendered. Salesforce has the following themes in its kitty as of now :-
  • Theme1—Obsolete Salesforce theme
  • Theme2—Salesforce Classic 2005 user interface theme
  • Theme3—Salesforce Classic 2010 user interface theme
  • Theme4d—Modern “Lightning Experience” Salesforce theme
  • Theme4t—Salesforce mobile app theme
  • Theme4u—Lightning Console theme
  • PortalDefault—Salesforce Customer Portal theme
  • Webstore—Salesforce AppExchange theme


At this juncture its important that 2 sets of variables/ methods are introduced :-
  1. $User.UITheme in VF Pages gives the value of applied theme / UserInfo.getUiTheme() in Apex gives the value of applied theme
  2. $User.UIThemeDisplayed in VF Pages gives the value of rendered theme / UITheme.getUITheme() in Javascript gives values of current rendered theme/ UserInfo.getUiThemeDisplayed() in Apex gives the value of rendered theme
Utility of knowing Theme:-
  1. For conditional rendering of fields in VF pages
  2. For conditional application of Stylesheets
  3. Detecting the current user experience context in JavaScript code is important if we are relying on JavaScript heavily, especially for purposes for managing navigation in our JavaScript code.
I will close it here as of now , but in case you think that the Assistant in Lightning needs to get more versatile please do upvote the following idea:-






Additionally if you feel that the "News Component" of Lightning in SFDC is not much help in its current form :-
  • not customisable w.r.t. websites from where the feed is pulled
  • not customisable w.r.t. context and keywords currently the algorithm matches exactly with the Account Name or is tightly coupled with the Account Name
You may want to upvote the following idea on "News Component" if the above issues too bothers you.

Tuesday, December 25, 2018

Lightning Blues- Demystifying the Assistant


Lightning and the buzz around has always led to the rise in expectations to exponential levels. As is the case with such scenarios the high hopes at times leads to quick dis-illusion by primary user groups and the platform is held responsible for mis-match in expectations. I have already heard murmurs of delay in Go-live or Lightning does not give that it promises and clamour for customised solutions. While ask for customisations may sound like music to consultants and consulting companies , we need to hold back take a deep breath and analyse the gaps. Lightning is a wonderful and amazing platform aimed at making life of the END USER EASY, but as Salesforce says and keeps repeating it requires planning, through analysis , identification of gap and analysis on bridging the gaps - more often that not you will be surprised that sometimes solution lies in adapting the process to the platform.
One such amazing feature rolled out OOB is the Assistant- which tells us about:-
  1. Tasks overdue
  2. Task assigned today
  3. Leads assigned today
  4. Opportunities with overdue tasks
  5. Opportunities with no activity in 30 days
  6. Overdue Opportunities
So far so good, but there are some pitfalls like:-
  1. An orphan overdue tasks will not be shown by assistant - to be shown it has to be attached to an opportunity, but do not get disheartened as you could post this in "Ideas" and alternatively use "Today's Tasks" component
  2. Also please do check that is "Einstein Activity Capture" feature is on updates on activity less opportunities will be suppressed.
  3. Also if you are not seeing the updates on activity please check that if your profile has access to the "Activities on Opportunity"
  4. Another set of heart-burn is around no visibility Buttons or Assistant Actions for "New Task" , "New Event" , "Send Email" - please check the following:-
  • Actions need to exist as Global actions
  • Also you need to have access for these actions
  • Remember that these actions need to be added in "Publisher Layout" under section - "Salesforce Mobile and Lightning Experience Actions"
  • Also remember as of now only Standard Global Actions are available and custom actions cannot be added

Friends adoption is always the tricky part requiring patient analysis , discovery and trouble shooting.