Journal
Writing & notes
Long-form posts, and a curated set of articles I've written for the Salesforce Developers blog.
On the Salesforce Developers Blog
Capture Engagement Events from Experience Cloud Using Data Cloud ↗
Explore how to set up an integration between Experience Cloud and Data Cloud to track engagement on your custom Lightning web components.
April 23, 2024Using Data Cloud Web SDK to Capture Engagement on Your Website ↗
Learn to set up your Web SDK and the various features like Consent Management, User Management, and Sitemaps that the Web SDK offers.
July 18, 2023Load Data Programmatically with the Ingestion API ↗
Start harnessing the power and magic of Salesforce Data Cloud by loading data programmatically into Data Cloud using the Ingestion API.
April 5, 2022How to Use TypeScript with Salesforce – Part 2 ↗
In this second post in our two-part series on TypeScript, we discuss the various places that you can use TypeScript within the Salesforce ecosystem.
March 29, 2022How to Use TypeScript with Salesforce – Part 1 ↗
TypeScript has been increasing in popularity over the last couple of years. In this post, we explore how it fits into the Salesforce developer workflow.
March 16, 2022Working with CORS and CSP to Call APIs from LWC ↗
Run into a Content Security Policy or CORS error when calling an API from Lightning Web Components? We explore the reasons behind these errors and how to fix them.
January 18, 2022Meet Kickboard: A Guided Whiteboard App for Digital Transformation ↗
Kickboard, a free and open source Salesforce Labs app, is a unique twist on a whiteboarding app built right on the Salesforce Platform with a guided experience.
September 8, 2021Learn MOAR in Winter '22 with Updates to Our Open Source Apps ↗
A few years ago, the Sample Gallery launched with a couple of open-source apps to showcase best practices for building on the Salesforce Platform. Here's what's new.
January 29, 2021Learn MOAR with Spring '21: OpenAPI 3.0 Spec for REST API ↗
Salesforce offers hundreds of well-documented REST and SOAP APIs. Learn how the new OpenAPI 3.0 spec lets external systems quickly consume them.
January 19, 2021Introducing a Planning Poker App Built on Salesforce and Heroku ↗
Planning Poker is a popular consensus-based technique to estimate efforts of user stories in Scrum. We introduce an app that brings it to distributed teams.
October 19, 2020Sample Gallery Updates for Winter '21 ↗
Winter '21 brings great updates across the Customer 360 platform. The Developer Evangelism team has been busy bringing some of these updates to the Sample Gallery.
September 15, 2020How to Build the Snake Game Using Lightning Web Components ↗
We explore how to build the classic Snake game using Lightning Web Components, optimize its performance, and deploy it to any platform of our choice.
August 17, 2020Error Handling Best Practices for Lightning Web Components ↗
Error handling is critical to any application and should be incorporated right from the design phase. We go over well-defined patterns and best practices for LWC.
April 21, 2020How to Securely Access Salesforce with Lightning Web Components Open Source ↗
When running LWC OSS apps on platforms like Heroku or Google Cloud, you may want to surface data from Salesforce. This post shows how to do it securely.
January 27, 2020Field Level Security in Apex Made Easy ↗
Controlling access to data based on user permissions is critical for any application. Learn how to enforce field-level security in Apex the easy way.
On this site
Output Invocation Mapping Error in Dynamic Choices of Einstein Bots
I am sure most of you have started getting your hands dirty on Einstein Bots. If you have run into An operation invocation must contain at least 1 output invocation mapping
September 18, 2018Does your chat end when Apex Action is called from Einstein Bot
Unable to call an action from Salesfore Einstein Bot? Bot crashes when trying to fire Apex Actions? If you are one of those who is wondering why your Einstein Bot embedded live cha…
September 13, 2018My First AppExchange Product - RestEZE
The idea stemmed from the need to test multiple APIs our customer had allowed access to, from Salesforce IP Ranges only. This obviously meant - any tools like Postman were of littl…
March 27, 2018Preparing for Marketing Cloud Consultant Certification
No different from any other consultant exam, you will face a lot of scenario based questions where most of the times, you will have to choose more than 1 correct answer.
March 3, 2018Use an Email Service Address as Organization Wide Address
Whenever you add an email address as an Organization Wide Address, Salesforce sends a verification email to that address with a link you have to click to verify that it is a real a…
January 15, 2018Salesforce Ohana Meet
A 2 day event, first of its kind, which brought together "S.I."s (Systems Integrator - this is the first time I've heard this acronym by the way), Students and Community together u…
February 20, 20165 Useful Javascript Libraries
A set of JavaScript libraries that I found useful when working on different projects. Datatable.js - Use this library to add advanced interaction like pagination, search controls t…
February 1, 2016Styling Visualforce PDFs
The below guide is useful in cases when you want to Add Header and Footer to PDF Documents, Repeat Table Header on every page, add border to tables.
April 22, 2015Translating text in a Visualforce Page
Translation workbench, when enabled, translates most standard stuff into the users language. But how do you get a visualforce page translated into a users language
April 15, 2015A whole new level of customization with Custom Buttons
One of the various behaviors of Custom Button is Execute JavaScript, with a content source of OnClick JavaScript. They can not only execute javascript Functions On Click, but you c…
April 8, 2015Export Apex Code Coverage to Excel
Tooling API proides a rich set of SOAP and REST interfaces that allow you to build custom development tools for Force.com applications. We use one such interface for this
April 3, 2015Parsing JSON the easy way using Apex
In most of the integrations, you typically use HTTP Callouts to the endpoints defined by various services, and the most common response format returned by these is JSON. Now, parsi…
April 1, 2015Predictable Iteration Order for Maps and Sets
Salesforce on 1st April has notified a change to the iteration order for unordered collections (maps and sets). It is changing the implementation for unordered collections to make…
March 15, 2015Getting Started with Lightning!
Here are a few points from the Meetup organized as a part of Salesforce1 Lightning Developer Week. Salesforce1 Lightning is an all new Component Based Framework
March 12, 2015Thumbnails in VisualForce
Most of the files uploaded to Chatter have a thumbnail next to them which shows the snapshot of the first page of the file.. Well, you too can generate the thumbnail for the files…
March 10, 2015File Preview in Visualforce
Ever notice how cool, the preview functionality in Salesforce Chatter is? Well, you can reuse the same component that Salesforce does. Chatter uses a Shockwave Plugin
March 6, 2015Execute Javascript from Formula field
Yes, formula fields can be used to execute javascript code on click. For this, we make use of the HYPERLINK Function. The syntax for it is
March 4, 2015Make PDF Files Download and not Open in Browser
Most browsers have an inbuilt capability to execute certain types of files. When these types of files encountered in a URL, typically when you click on a PDF