Sunday, September 26, 2021

Salesforce Flows Introduction

Overview

Salesforce Flow has become one of the very important tools to implement business logic in Salesforce. Over the last few years Salesforce team has not only improved the UI of Flow builder but also added lot of new functionalities in Flow. Several things which were earlier possible only through apex code can now be done easily without writing a single line of code. Since the flow builder is a visual tool, it is easier to learn and use for both the admin and the developers. For any new implementation of a business logic, it is advisable to consider using Flows for development. 

Recently Salesforce team has also announced that the tools like process builder and workflow will be retired in upcoming releases. As an alternative, people are advised to use flows for any new development. 

Over the past few years, I have seen development team and the customers adopting flows whole-heartedly. Initially I used to think that the flows is just another Salesforce feature. But after a proper understanding, I feel that they are very powerful and thought of sharing my knowledge with all. 

Flow Builder 

Flow Builder is a graphical drag and drop tool which can used to view, create and modify an existing flow. It provides various programming constructs which helps you implement business logic. It can also help you run and debug the business logic.


How to View existing flows? 

Open your developer org (https://login.salesforce.com) or Sandbox(https://test.salesforce.com). Search for flow in the setup menu search box.

Now click on the Flows link in the setup. This will open the list of existing flows in the org. In the developer org, there are some sample flows provided by Salesforce.
Click on the link in the flow label column to open any flow. This will open up the flow builder with the selected flow.


In the next article we will learn how to write a simple Hello World Flow.

Saturday, October 20, 2018

Creating Scratch Org from a developer edition Org - Using Developer org as Dev hub

This blog post is in continuation to the previous post - Salesforce DX - Using Salesforce Developer Org as Developer Hub Org (https://www.salesforce-vscode.com/2018/10/salesforce-dx-using-salesforce.html). In the previous post we had created a developer org and enabled dev hub in the org. Now in this post we will create scratch orgs which will be associated to the dev hub org we created earlier.

First let us run sfdx force:org:list and  sfdx force:config:list to check the orgs  we have created and associated with DX installation & the configurations associated with Salesforce DX in the machine respectively. You can see that we currently only see the entry for Dev Hub org we created in the last post.


Now we will run the scratch org creation command and associate the newly created scratch org with the developer hub.

sfdx force:org:create -a MyDevOrg -s -v mydeveloperhuborg -d 30 edition=Developer

Here -s sets the created org as the default username, -a sets an alias for for the created scratch org, -v denotes alias for the target Dev Hub org, -d sets the duration of the scratch org, in days. The valid values for this parameter are from 1-30.
If the org is created, you will see a success message on the command prompt.



We will now login into the developer org and check the Developer Hub lightning application we created in previous post. In the "All Active Scratch Orgs" tab, we see an entry for the newly created org. Clicking on the Number column link, shows detail of the new org like the org id, expiration date, created date, etc.




Open the scratch org just created by running the sfdx force:org:open command, by providing the org alias.




Friday, October 19, 2018

Salesforce DX - Using Salesforce Developer Org as Developer Hub Org

Salesforce DX is source driven development.The core philosophy of Salesforce DX is that the version control is source of truth. To implement this philosophy, Salesforce has provided short lived orgs called as Scratch Orgs. These orgs can be created very easily and within a short span of time. These Scratch Orgs are connected to a central Org called as "Developer Hub" Org.

During the initial phase of release of Salesforce DX, Salesforce provided facility to enable developer Hub in Production Orgs as well as it provided Developer Hub as a 30 day trial org which can be used by people to try Salesforce DX (https://developer.salesforce.com/promotions/orgs/dx-signup). The disadvantage of this org is that after the trial period, you lose this org as well as all the scratch org associated with it. Developer Edition orgs don't expire as long as they remain active. In a Developer Edition Dev Hub, you can create up to 6 scratch orgs with a maximum of 3 active scratch orgs.

Based on customer feedback and for wider adoption, with the Winter 19 release, Salesforce is now allowing us to enable developer Hub in the developer Org itself.

In this article we will see how to enable the developer Hub in the Winter 19 developer Org.

Start by registering for a winter 19 developer Org. Open https://developer.salesforce.com/signup and register for a developer Org by filling the form.


Once you have the org created, you can login into it and use it for development purpose.


Now to enable the dev hub in the org, click on the gear icon on the top right corner to open the setup menu. Search for Dev Hub in the setup menu. You will see a toggle button with the text as "Enable Dev Hub". Toggle it to enable dev hub in this org.


Once enabled, you cannot disable the setting. Also once this setting is enabled, you will see option to enable packing in the org. We will learn about packing in future blog posts.



Now, we will connect to the developer hub org using the sfdx cli tool. We assume that you have installed the SFDX CLI tool, if not, you can follow this blog post  - https://www.salesforce-vscode.com/2018/10/salesforce-cli-installation.html.

Open command prompt and enter below command
sfdx force:auth:web:login --setdefaultdevhubusername --setalias mydeveloperhuborg

Using this command we are basically opening the developer Hub org, so that it can be used in future for creating scratch orgs. Here the alias name is set to mydeveloperhuborg.
Once you run this command you will be prompted for providing the permission so that the SFDX CLI tool can connect to the org. Once the authorisation is complete, you will see success message in the command prompt.


Let us now create a simple lightning app so that we can group the Salesforce DX, Scratch Org related tabs.



Create a new lightning app. Lets give it a name of "Developer Hub". Include DX related tabs like "Active Scratch Orgs, "Scratch Org Infos" and "Namespace Registries".



You will now be able to see the scratch org information grouped in this app. Currently there are none in the screen shot as we have not created any. We will see how to create scratch orgs and link it with this org in the next blog post.


 Note: You cannot enable Dev Hub in a Developer Edition org in which you have defined a namespace. You cannot define a namespace in a Developer Edition org that has Dev Hub enabled.

Salesforce CLI Installation


Salesforce CLI which was earlier called as Salesforce DX CLI is a command line tool. It is heart of Salesforce DX feature. It is extensible, you can create plugins in case you find some functionality missing. See here (https://developer.salesforce.com/blogs/2018/05/create-your-first-salesforce-cli-plugin.html). Salesforce keeps enhancing the tool by adding new functionalities in its releases. It is very powerful and can be used to do following operations.
  • Creating Scratch orgs
  • Connecting to Developer Hub orgs, Scratch Orgs, Sandboxes, Developer Orgs, etc
  • Creating code like apex classes, Visualforce pages, lightning component etc.
  • Getting the source code from scratch orgs, sandboxes, and developer orgs into local machine and pushing updated code to these orgs.
  • Creating packages, package installations etc.


In order to get started with Salesforce DX, we must install the Salesforce CLI. The tool can be downloded from https://developer.salesforce.com/tools/sfdxcli. It is available for Windows, Mac OS and Linux.

We will see the process of installation on Windows.


Click on the "Download for Windows 64" link, which will download the CLI installation file on your machine. Click on the installation file, it will start the installation process prompting you to select the components. Keep the default selected and click next.
Now select the path where you want to install the CLI. You can keep the default path, click next to continue.


The installation process will start copying the files to your file system. It will take some time for installation to finish. Once the installation is finished, you can check if the installation is completed successfully by running the sfdx --version command on the command prompt. On successful run of the command, you will see the version number printed on the command line. Run the cmd command from Windows -> Run. In future blog posts, we will see how to use the tool.


Wednesday, October 10, 2018

VSCode with Salesforce - How to install.

Visual Studio Code is a popular editor available for Windows, Mac OS and Linux. Do not confuse it with Microsoft Visual Studio. Microsoft Visual Studio is used by programmers for programming mainly on and for Windows Platform. On the other hand, Visual Studio code is a light editor used for programming languages like Java, C, C++, C#, Javascript, etc. It has basic features which are generally found in normal editors/IDEs but in addition to that it has several cool and advance features like VS Code Live Share, Slack Chat etc. It has a very rich ecosystem. Most of the features are available as extensions. 

Salesforce development support in vscode is enabled through the Salesforce extensions for VSCode (https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode).
The extension pack or bundle enables the development of visualforce, lightning component, apex and debugging in vscode. In addition to that you get code completion for apex, visualforce &lightning code. The extensions are fully developed (with support from other developers) and supported by Salesforce. Some of the blogs are referring the installation of "ForceCode" extension which is a totally different extension and unrelated to what Salesforce has released.

Visual Studio Code has in in built support for version control tools like git, but you need to install git separately.

Now let us see how to install and use Visual Studio Code.

Start by first installing latest version of Salesforce CLI. You can check the blog post https://www.salesforce-vscode.com/2018/10/salesforce-cli-installation.html for instructions.

Now download and install latest version of Visual studio code from https://code.visualstudio.com .For Windows you will see two different types of installers User Installer and System Installer. Installing the user setup does not require Administrator privileges which is very helpful in corporate environments as most of the users do not have administrator privileges. User setup also provides a smoother background update experience.



Installation is straight forward. Click on the downloaded exe and select default options in the wizard to complete the installation.

Open Visual Studio Code and click on extensions tab. Install "Salesforce Extensions for Visual Studio Code". This will install Salesforce CLI Integration for Visual Studio Code, Apex Code Editor for Visual Studio Code,Apex Debugger for Visual Studio Code,Apex Replay Debugger for Visual Studio Code,Lightning Component Code Editor for Visual Studio Code & Visualforce Code Editor for Visual Studio Code. If these are not installed automatically due to some reason , search and install these separately. 




Alternatively you can download the extensions from the VS Code extension marketplace https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode.

Code Auto Completion based on Language services requires Java 8 to be installed on the machine. Install it from here - https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html. Higher versions of Java is not supported at this moment, so make sure you install the correct version, otherwise you may face issues.
Once Java is installed set the JAVA_HOME or JDK_HOME environment variable on your computer.
Alternatively you can set the path in Visual Studio Code itself. Goto File ->  Preferences -> Settings on Windows  and search for apex in the search box. Click on edit in settings.json for "Salesforcedx-vscode-apex › Java: Home". Set the java path based on you java installation.


Do a quick check of the installation by checking the command pallete. Check if SFDX commands are available in it.


We are now ready to use Visual Studio Code for development. It can be used for development against the scratch orgs or against the developer orgs, sandbox etc.
x

Monday, October 08, 2018

Getting Started with Salesforce Development with VSCode - Introduction

In this series of blog posts, we will be discussing how to use VSCode (Visual Studio Code) for development on Salesforce Platform.

Historically developers have been using different tools for development on Salesforce Platform. These tools include different IDEs (Integrated Development Environments) , Code Editors, Text Editors, Deployment tools, Data loaders etc.

The most easiest to use is the "Developer Console" provided in the Salesforce Org. Developer console is an integrated development environment with a collection of tools you can use to create, debug, and test applications in your Salesforce organization.

You can directly write code in the Org by creating classes, visualforce pages, etc. The editor provided is very basic and not very user friendly.

The Force.com IDE is a plug-in for the Eclipse IDE. This is one of most popular tools used by developers. It has source code editors, test execution tools, Querying tools etc. It can be used to create apex classes, Visualforce Pages, Lightning Components, etc.


There are some web based tools which are also quite popular like aside.io which is very fast and hence loved by developers.

These tools have several good features but shortcomings as well. Most of these are free tools provided by Salesforce or other third parties. Some are paid like Welkin Suite.

Before moving to VSCode, Salesforce tried to adopt force.com plugin for eclipse for Salesforce DX development through the Force.com IDE 2. This IDE remained in Beta and never came out of it. It was deprecated before any one could use it in day to day life. Several of the features supported by this Beta IDE are supported in VSCode. Salesforce probably dumped the IDE 2 in favour of VSCode probably because of its growing popularity. In addition to that it is quite light weight, fast and has several great features.  A good comparison between VSCode and Eclipse can be found here http://vschart.com/compare/visual-studio-code/vs/eclipse-ide


The move toward VSCode (Visual Studio Code) by Salesforce started with the development and release of Salesforce DX.  Salesforce DX was made Generally Available in Winter 18 around Oct 2017. Here is the announcement from Wade Wegner who was the product manager for Salesforce DX then  - https://developer.salesforce.com/blogs/2017/10/salesforce-dx-is-now-generally-available.html.
Before becoming generally available, Salesforce DX was a pilot and then later a Beta program. Several developers tried it and provided feedback on its various features. Some of the feedback we still see in the different releases of Salesforce DX.

Development support in VSCode for salesforce is enabled through the Salesforce extensions for VSCode. These extensions are being developed and being provided by the Salesforce Team.

In addition to that, Visual Studio Code was being used by developers way back before Salesforce officially released the Visual Studio Code extensions. This was through the ForceCode extension by John Nelson from a company named Code Science (https://www.codescience.com/blog/2016/the-new-hotness-for-salesforce-developers). There is quite a lot recent activity in this extension (https://marketplace.visualstudio.com/items?itemName=JohnAaronNelson.ForceCode). This extension was deprecated by the developer not too long ago as seen from the history of Readme file. But now it looks like the developers are working aggressively on this extension again.We now have a good competition to the Salesforce Extensions for Visual Studio Code by Salesforce.

In order to fully utilise the power of Visual Studio Code for development on Salesforce Platform, you must understand how to use the Salesforce CLI tool.


Tuesday, September 26, 2017

Salesforce lightning Interview Question and Answers

What is Salesforce Lightning?
  • Lightning is the umbrella term for the collection of tools and technologies e.g. Lightning component framework, lightning experience, lightning app builder etc.
  • Lightning  became available in October 2015 with the release of Winter ‘16

What are Lightning components?
  • Components are the self contained source and reusable units of an app.
  • UI Framework - Built on Open Aura Framework.
  • It is used for developing web apps - For mobile and desktop devices.
  • It is a client server framework.
  • It helps to accelerate the development.
  • It helps to improve application peformance. It has stateful client and stateless server.
  • It has several reusable out of the box components.
  • A Component can contain other components, JS, HTML and CSS.
  • Encapsulated, configured through attributes and communicate through events.
  • LC are device aware and have cross browser compatibility.

What is Aura? What is the relation of Aura with Salesforce Lightning?
  • It is a UI Framework for developing dynamic web apps for mobile and desktop devices.
  • It is totally independent of Salesforce.
  • It has several out of the box components like button,checkbox,datagrid etc.
  • It is available at https://github.com/forcedotcom/aura
  • The aura namespace contains components to simplify your app logic, and the ui namespace contains components for user interface elements like buttons and input fields.
  • The Lightning Component framework is built on the open source Aura framework.


What is Lightning Experience
  • Lightning Experience is the new, modern user experience and interface for using Salesforce.
  • It has a modern and responsive design. It is optimized for users so that they can work very fast and easily on records so that they are more productive.
  • Not every feature of Salesforce is supported in Lightning Experience yet. Because of this, Salesforce Classic – is still available, and users can switch between Lightning Experience and Salesforce Classic with ease.
  • It is not necessary for the entire org to move to Lightning Experience at the same time. Certain users can enable Lightning Experience, while others can continue using Salesforce Classic.
  • Admins can enable Lightning Experience access at the user, profile, and organization level.

What are Lightning Apps?

Lightning Apps are made of Lightning components.
  • Lightning App  is a special top-level component whose markup is in a .app resource.
  • You can Access app using url of this pattern https://.lightning.force.com//.app
  • Mark up starts with
  • Types
    • Standalone – can be hosted outside SF1 and LE, like lightning out and VF pages
    • Lightning Experience and SF1 – Can take advantage of record create and edit pages, among other benefits

What is pre-requisite for learning Lightning component development?
  • Learn JavaScript. You must have intermediate level of JavaScript knowledge.
  • Learn concept of web components like google polymer, react,etc
  • Learn Single page app concept.
  • CSS3 Knowledge.
  • JavaScript debugging.
  • Apex knowledge for server side logic coding.

What is a Lightning Component Bundle? OR What is a Lightning component made up of?

A component bundle contains a component or an app and all its related resources.
  • CSS Styles
  • Controller
  • Design
  • Documentation
  • Renderer
  • Helper
  • SVG File

What are the types of events in Lightning?
  • Component events are handled by the 
    • component itself or 
    • a component that instantiates or contains the component.
  • Application events are handled by 
    • all components that are listening to the event. These events are essentially a traditional publish-subscribe model.

What is @AuraEnabled annotation used for?
  • The @AuraEnabled annotation enables client side access to an Apex controller method.
  • Providing this annotation makes your methods available to your Lightning components.
  • Only methods with this annotation are exposed. 

What is Lightning Design System (SLDS)?
  • The Salesforce Lightning Design System includes the resources to create user interfaces consistent with the Salesforce Lightning principles, design language, and best practices. 
  • It helps to create an intuitive UI with less number of clicks which is modern and beautiful.

What is the use of access=“global”?
  • Mark your resources, such as a component, with access="global" to make the resource usable outside of your own org. For example, if you want a component to be usable in an installed package or by a Lightning App Builder user or a Community Builder user in another org.

What are Component Attributes?
  • Component attributes are like member variables on a class in Apex.
  • They are typed fields that are set on a specific instance of a component, and can be referenced from within the component's markup using an expression syntax. 
  • Attributes enable you to make components more dynamic.
  • Use the tag to add an attribute to the component or app.
  • All attributes have a name and a type.
  • Attributes may be marked as required by specifying required="true", and may also specify a default value.
  
What is Lightning Data Services?
  • It is data Layer for Lightning
  • Can be equated to Standard Controllers in Visualforce
  • Use Lightning Data Service to load, create, edit, or delete a record in your component without requiring Apex code.
  • No SOQL required.
  • Lightning Data Service handles sharing rules and field-level security automatically.
  • Declarative CRUD operations
  • Auto notify on record changes
  • Offline Access for Salesforce1
  • Lightning Data Service improves performance and user interface consistency.

What is Salesforce Lightning CLI?
  • It is part of  Salesforce DX CLI Command that lets you scan your code for general JavaScript coding issues and Lightning-specific issues.
  • Useful for preparing your Lightning components code for LockerService enablement.
  • Based on ESLint project.

Is Namespace required for lightning component creation?
  • If you’re not creating managed packages for distribution then registering a namespace prefix isn’t required, but it’s a best practice for all but the smallest organisations.


What are Local and Global ids with respect to lightning component?
  • A component has two types of IDs: a local ID and a global ID. 
  • You can retrieve a component using its local ID in your JavaScript code. 
  • A global ID can be useful to differentiate between multiple instances of a component or for debugging purposes.
  • Local ID is created by using the aura:id attribute.
  • example
  • To find the local ID for a component in JavaScript, use cmp.getLocalId()
  • Every component has a unique globalId, which is the generated runtime-unique ID of the component instance.
  • A global ID  is not guaranteed to be the same beyond the lifetime of a component, so it should never be relied on.

What is the requirement for a component to be used in a custom tab in lightning experience or Salesforce1?

  • Add the force:appHostable interface to a Lightning component to allow it to be used as a custom tab in Lightning Experience or Salesforce1.
  • Components that implement this interface can be used to create tabs in both Lightning Experience and Salesforce1.

What is FlexiPage?
  • FlexiPage Represents the metadata associated with a Lightning page. 
  • A Lightning page represents a customizable screen made up of regions containing Lightning components.

Tuesday, September 19, 2017

Salesforce Integration Interview Question and Answers

1. What is XML?
  • XML is Extensible Markup Language (XML)
  • It is similar to HTML. HTML is used to display data, XML is designed for carrying data.
  • It's main purpose is to transport and store data.
  • Unlike HTML, XML tags are not predefined. You must define your own tags.
  • XML is self describing.
  • XML uses a DTD (Document Type Definition) or XML Schema to formally describe the data.

2. What is an API?
  • Stands for Application Programming Interface.
  • It defines how the software systems must interact.
  • Salesforce provides programmatic access to information using simple, powerful, and secure APIs.
  • Allows one piece of software to make use of the functionality or data available to another system.
  • Examples in Salesforce
  • Bulk API
  • Metadata API
  • Streaming API

3. What is Remote Site Settings used for?
  • Before any Visualforce page, Apex callout, or JavaScript code using XmlHttpRequest in an s-control or custom button can call an external site, that site must be registered in the Remote Site Settings page, or the call fails. 
  • In this setting, You need to specify the URL that you want to access. 
  • You can deactivate the setting if needed.

4. What is Oauth?
  • OAuth (Open Authorization) is an open standard for token-based authentication and authorization on the Internet.
  • It is a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
  • It is used by companies such as Google, Facebook, Microsoft and Twitter to permit the users to share information about their accounts with third party applications or websites.

5. What is JSON?
  • JSON or JavaScript object notation is an open standard that uses human readable text to transmit data consisting of key-values and arrays.
  • It is a lightweight data-interchange format.
  • It is very easy to read and write. It is concise and lightweight.
  • It is a very common data format used for asynchronous browser/server communication, including as a replacement for XML in some AJAX-style systems.
  • JSON is a language-independent data format
  • JSON is text, and we can convert any JavaScript object into JSON, and send JSON to the server.
  • We can also convert any JSON received from the server into JavaScript objects.

6. What is cURL used for?
  • cURL is a command line tool for getting or sending files using URL syntax.
  • It supports a range of common Internet protocols, currently including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP and RTSP.
  • Example usage in of cURL tool related to Salesforce is to send HTTP requests to access, create, and manipulate REST resources on the Force.com platform.

7. What is WSDL?
  • A WSDL is an XML document that describes a web service. It contains a standardized description on how to communicate using a web service 
  • It actually stands for Web Services Description Language.
  • Salesforce offers two types of WSDL
    • Enterprise
    • Partner


8. What is the use of Enterprise WSDL?
  • The Enterprise WSDL is strongly typed.
  • The Enterprise WSDL is tied (bound) to a specific configuration of Salesforce (ie. a specific organization's Salesforce configuration). It is optimized for a single org.
  • The Enterprise WSDL changes if modifications (e.g custom fields or custom objects) are made to an organization's Salesforce configuration.
  • Ideal for integration with single Salesforce org.

9. What is the use of Partner WSDL?
  • The Partner WSDL is loosely typed.
  • The Partner WSDL can be used to reflect against/interrogate any configuration of Salesforce (ie. any organization's Salesforce configuration). It is optimized for multiple Salesforce orgs.
  • The Partner WSDL is static, and hence does not change if modifications are made to an organization's Salesforce configuration.
  • Ideal for integration with multiple Salesforce orgs.

10. What is SOAP UI?
  • SoapUI is a free and open-source app for testing SOAP and REST services.
  • It can be used for API Functional Testing, API Performance Testing, API Security Testing, API Mocking, etc.
  • It is available for download from https://www.soapui.org/

11. What are Connected Apps?
  • A connected app integrates an application with Salesforce using APIs. 
  • Connected apps use standard SAML and OAuth protocols to authenticate, provide single sign-on, and provide tokens for use with Salesforce APIs. 
  •  In addition to standard OAuth capabilities, Connected apps allow Salesforce admins to set various security policies and have explicit control over who can use the corresponding apps.

12. What is Bulk Api?
  • Based on REST Principles.
  • Can be used for querying, insert, delete, update, upsert of many records asynchronously by submitting batches. Salesforce processes batches in the background.
  • It is a Asynchronous API.
  • Has the ability to work with large data sets like 500,000 records. So, API for loading large amount of data
  • Can be enabled in data loader.

13. What is SOAP API?
  • SOAP is used as wrapper for API Operations. 
  • It is used to create,update,retrieve and delete records.
  • Oldest of the APIs used in Salesforce
  • Mostly used in enterprise settings.
  • Oriented around accessing data and manipulating records.
  • Mostly used with XML Data.

14 What is REST API?
  • REST stands for Representational State Transfer.
  • Simpler than SOAP API. It is easy to develop and integrate.
  • Preferred for Salesforce integration with Mobile device. Preferred as Public API
  • Mostly used with JSON data.
  • Uses the HTTP build-in headers (with a variety of media-types) to carry meta information and use the GET, POST, PUT and DELETE verbs to perform CRUD operation

15. What is Metadata API?
  • Metadata means data about data.
  • Metadata API main focus is on accessing metadata.
  • Use Metadata API to retrieve, deploy, create, update, or delete customizations for your org.
  • The most common use is to migrate changes from a sandbox or testing org to your production environment.
  • It can be used to manipulated metadata elements like Page Layouts, Apex Classes, VF Pages, etc.
  • Tools like force.com IDE and force.com migration toolkit uses metadata API
  • It is SOAP based.

16. What is Streaming API?
  • Streaming API can be used to get a real time notification of data changes in Salesforce.
  • The matching data criteria( for the data for which we want to receive notification) can be defined using a SOQL query.
  • It is much efficient than the clients who continuously poll the server.
  • It internally uses Bayeux Protocol.


17.What is Lightning Connect?
  • Salesforce Connect is a framework that enables you to view, search, and modify data that’s stored outside your Salesforce org. The data can be on premise (e.g. SQL Server) or on cloud (another Salesforce org).
  • It was earlier called as Lightning Connect.
  • Uses concept called as External Objects which are similar to custom objects.
  • Based on OData (Open Data Protocol) which is a modern, REST-based protocol for integrating data.
  • Data Integration is done in real time.


Monday, September 18, 2017

Salesforce Interview Question and Answers

1. What is Salesforce.com
  • Salesforce.com also know as SF or SFDC is a cloud computing company located in USA. It was founded by Marc Benioff in 1999.
  • Salesforce provides customer relationship management software built on its platform. Using this, customers can manage acquisitation of potential customers and provide servies and support to existing customers.
  • It provides several applications built on top of Salesforce Platform like Sales Cloud ( for selling your products to customers), Service Cloud ( for providing service), Health Cloud ( Product built specifically for HealthCare companies), Finance Cloud ( Product built for Finance domain companies), Analytic Cloud (for Analyzing data. There are several other products.


2. What is Cloud Computing?

Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics and more—over the Internet ("the cloud"). 
E.g. are Salesforce, Amazon, Microsoft and Google.
Here are a few of the things you can do with the cloud:
  •     Create new apps and services
  •     Store, back up and recover data
  •     Host websites and blogs
  •     Stream audio and video
  •     Deliver software on demand
  •     Analyse data for patterns and make predictions

3. What is a CRM?
  • CRM means Customer Relationship management. Relationship management is done between 
  • Company and the new  customers ( for Sales).
  • Company and the existing customers ( for service).

4. To use Salesforce which software needs to be installed?
  • There is no need to install any new software on your machine to access Salesforce.
  • All the data and application resides on Salesforce server.
  • You can access your application using a standard web browser like Google Chrome, Mozilla Firefox or Internet Explorer. Since these browser are available on Windows, Ubuntu, Android and Mac OS there is no dependency on OS as well.
  • You also do not have to maintain the application as it is maintained by Salesforce. Any new updated released by Salesforce will also be applicable to your application

5. What is a Lead?
  • A sales lead is a prospective consumer of a product or service, created when an individual or business shows interest and provides contact information. 
  • Businesses gain access to sales leads through advertising, trade shows, direct mailings and other marketing efforts. 
  • They can also purchase sales leads from third-party companies.

6. What is a Campaign in Salesforce
  • Campaign is planned set of activities that people carry out over a period of time to achieve an objective.
  • It can be a direct mail program, seminar, print advertisement, email, or other type of marketing initiative.
  • Campaign in Salesforce is a Standard Object which is used to track, manage and plan your marketing project.
  • Campaigns are an excellent tool to track ROI and KPIs, optimize efforts, record marketing activity and provide accountability and visibility to the rest of the company.

7. What is Sales Cloud?
  • Sales Cloud is Sales application provided by Salesforce
  • It helps to grow customer base, find new customers and close the business deals faster
  • It includes functionality related to Account and Contact Management, Opportunity Management, Campaign Management, Product and Asset management, Forecasting, Territory Management, etc.

8. What is Service Cloud
  • It is Customer service and support solution provided by Salesforce.
  • Using this you can provide service through phone, email, social media, communities or chat.

9. What are the different editions offered by Salesforce?
  • Lightning Professional Edition.
  • Lightning Enterprise Edition
  • Lightning Unlimited Edition
  • Developer Edition

10. What is a Salesforce User License?
  • The license assigned to each user determines which features the user can access in Salesforce.
  • Each user can have only one user license.
  • License is assigned to the user using Profile settings in Salesforce.

11. What is Salesforce AppExchange?
  • AppExchange is Salesforce Application market place.
  • Apps in AppExchange are customized for Salesforce and extend Salesforce to every department and every industry.
  • Anyone can browse and explore AppExchange demos and test drives.
  • It features both free as well as paid apps.

12. What is Salesforce1?
  • It is a mobile application which give access to Salesforce data on a mobile
  • It is available for android and iOS devices and mobile browsers.
  • It can be enabled/disabled for a salesforce organization

13. What is Chatter?
  • It is an enterprise collaboration platform. It can be used to exchange information, data and files between users
  • It is by default enabled in Salesforce organization
  • It can also be used for sending messages between users.
  • You can create public and private groups for sharing information.


Salesforce Flow Tutorial #3 - What is Record Triggered Flow - Post To Chatter

 In this tutorial we will learn how to create and use Record Triggered Flow. The Record triggered flow can be used to fulfill requirements w...