Skip to main content

Latest Post

Agentforce: One Agent, Six Layers

 The Big Picture (Start Here) ⚡ 1-Minute Summary •   An agent understands language, decides what to do, and acts. A chatbot only answers. •   Every example in this notebook uses one company: Meridian Power. Same company, every module. •   Learn the 360 Card first (0.5). It is the shape of every good answer: rule, gain, price, limits. Module map MODULE 0 root: 'What is Agentforce, and how do the modules fit together?' ├─ 0.1 The map: one agent, six layers ├─ 0.2 Meridian Power — the example company ├─ 0.3 Key terms in plain words ├─ 0.4 The rename map (2024-2026) └─ 0.5 The 360 Card — how to answer any question 0.1   The Map: One Agent, Six Layers 💬 In plain words:   Agentforce looks like many products. It is not. It is one agent with six layers stacked under it. Each layer answers one question, and each module of this notebook lives on one layer. 📌 Example:   A customer types "my power is out." Identity decides whose dat...

How to Write Apex Triggers in Salesforce with Code Examples cheat Sheet

Here's a cheat sheet for Apex triggers with code examples:


1. Trigger Structure:


trigger TriggerName on ObjectName (trigger_events) {

    // Trigger logic and code here

}


2. Trigger Events:

  1. before insert: Fires before records are inserted into the database.
  2. before update: Fires before records are updated in the database.
  3. before delete: Fires before records are deleted from the database.
  4. after insert: Fires after records are inserted into the database.
  5. after update: Fires after records are updated in the database.
  6. after delete: Fires after records are deleted from the database.

3. Trigger Context Variables:

  1. Trigger.new: Returns the new versions of the sObject records.
  2. Trigger.old: Returns the old versions of the sObject records.
  3. Trigger.newMap: Returns a map of IDs to the new versions of the sObject records.
  4. Trigger.oldMap: Returns a map of IDs to the old versions of the sObject records.

4. Trigger Example:


trigger AccountTrigger on Account (before insert, after update) {

    if (Trigger.isBefore) {

        if (Trigger.isInsert) {

            // Trigger logic before insert

        }

    } else if (Trigger.isAfter) {

        if (Trigger.isUpdate) {

            // Trigger logic after update

        }

    }

}


5. Handling Trigger Events:


// Before Insert Trigger

trigger ContactTrigger on Contact (before insert) {

    for (Contact contact : Trigger.new) {

        // Perform logic on each new contact before insert

    }

}


// After Update Trigger

trigger CaseTrigger on Case (after update) {

    List<Case> updatedCases = new List<Case>();

    for (Case c : Trigger.new) {

        Case oldCase = Trigger.oldMap.get(c.Id);

        if (c.Status != oldCase.Status) {

            updatedCases.add(c);

        }

    }

    // Perform logic on updated cases after update

}


Remember to replace TriggerName with the name of your trigger and ObjectName with the name of the object (e.g., Account, Contact, Case) you're working with.


This cheat sheet provides a basic structure and examples to get you started with Apex triggers. Keep in mind that you might need to add additional logic based on your specific requirements.

Popular Posts

Upload document using rest api from apex class salesforce

 Here is working class example to upload file from apex salesforce.

Salesforce LWC Code for Multi-Select Lookup

Introduction: In Salesforce Lightning Web Components (LWC), implementing a multi-select lookup field can enhance the user experience and provide greater flexibility for selecting multiple related records. In this blog post, we will walk through the process of creating a multi-select lookup field using LWC. We will cover the required code snippets and provide step-by-step instructions to help you implement this functionality in your Salesforce org.