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

August 22, 2024

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.

Data Cloud Experience Cloud Web SDK Engagement
April 23, 2024

Using 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.

Data Cloud Web SDK Consent Management Sitemaps
July 18, 2023

Load 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.

Data Cloud Ingestion API Integration REST API
April 5, 2022

How 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.

TypeScript Lightning Web Components LWC OSS Tooling
March 29, 2022

How 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.

TypeScript JavaScript Lightning Web Components Type Definitions
March 16, 2022

Working 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.

Lightning Web Components CORS CSP Content Security Policy
January 18, 2022

Meet 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.

AppExchange Open Source Salesforce Labs Flows
September 8, 2021

Learn 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.

Code Samples Functions Recipes AZ Insurance Volta
January 29, 2021

Learn 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.

OpenAPI REST API sObject Pilot
January 19, 2021

Introducing 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.

Planning Poker Scrum User Story Heroku
October 19, 2020

Sample 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.

Sample Gallery eCars Apex Recipes Dynamic Forms
September 15, 2020

How 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.

Lightning Web Components Open Source Heroku GitHub Pages Performance
August 17, 2020

Error 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.

Lightning Web Components JavaScript Exception Error Lifecycle
April 21, 2020

How 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.

Lightning Web Components Open Source Authentication Integration OAuth
January 27, 2020

Field 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.

WITH SECURITY_ENFORCED stripInaccessible Schema Methods SOQL

On this site

October 2, 2018

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

Einstein Bots Invocable Methods Dynamic Choice Apex Action
September 18, 2018

Does 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…

Einstein Bots sfdc.chatbot.service.permset Apex Actions Permission Sets
September 13, 2018

My 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…

Integration Playground RestEZE Callouts
March 27, 2018

Preparing 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.

Marketing Cloud Consultant Certification Trailhead
March 3, 2018

Use 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…

Email Service OWA Inbound Email Handler
January 15, 2018

Salesforce 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…

Salesforce Ohana Community Recruitement
February 20, 2016

5 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…

DataTable Select2 TypeAhead SignaturePad
February 1, 2016

Styling 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.

PDF RenderAs Table Style
April 22, 2015

Translating 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

Translation Workbench Labels Visualforce Cookie
April 15, 2015

A 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…

Javascript Custom Buttons Salesforce Customization
April 8, 2015

Export 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

Tooling API Test Class Code Coverage Export
April 3, 2015

Parsing 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…

JSON Deserialize Apex Callouts
April 1, 2015

Predictable 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…

Arbitrary Order Map Set Unordered Collection
March 15, 2015

Getting 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

Salesforce Lightning Meetup Developer Week
March 12, 2015

Thumbnails 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…

Thumbnail Chatter Salesforce Content
March 10, 2015

File 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

Chatter Preview VisualForce Documents
March 6, 2015

Execute 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

Salesforce Javascript Formula Fields Hyperlink
March 4, 2015

Make 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

Salesforce Security Download File Behavior