Skip to main content Join us at TDX in San Francisco or on Salesforce+ on March 5-6 for the Developer Conference for the AI Agent Era. Register now.
Featured group

* Salesforce Developers *

Welcome! Here, you can collaborate, network, build connections, learn Salesforce development, and grow. Be sure to check out the great list of resources in the right navigation pane to help you learn, earn and connect!
Pinned

New to Developing with Salesforce? Check out These Resources!

 

*Updated: 2 October 2024

 

Welcome - we are so glad you're here. These resources will help you get an understanding of why you might want to become a Salesforce developer, what type of development you'd like to focus on, and great ways to connect and build your network. 

 

If you're a Java developer (welcome!), here are some specific resources for you: 

New to Developing with Salesforce? Check out These Resources! *Updated: 2 October 2024 Welcome - we are so glad you're here.

Have suggestions for future types of content? Let us know in the comments below!

0/9000

Hi everyone,

I'm working on integrating a custom digital proposal system with Salesforce using an API connection via OAuth 2.0. However, we are encountering an "unsupported_grant_type" error when attempting to authenticate.

Setup Details:

  • We created a Connected App in Salesforce.API Connection Error - Postman2..222222222.png
  • We are using the password-based OAuth flow with the following cURL request:
bashCopyEditcurl -X POST https://login.salesforce.com/services/oauth2/token \    -d "grant_type=password" \    -d "client_id=YOUR_CLIENT_ID" \    -d "client_secret=YOUR_CLIENT_SECRET" \    -d "username=YOUR_USERNAME" \    -d "password=YOUR_PASSWORD_WITH_SECURITY_TOKEN"

 

  • Postman was used to test the connection, and the error persists.postman2.pngTroubleshooting Done So Far:

✅ Verified the client_id, client_secret, username, and password (with security token)

✅ Checked that the 

Connected App

 allows all users to self-authorize. 

✅ Ensured that the user has 

"API Enabled"

 permission. 

✅ 

IP Relaxation is set to "Relax IP restrictions"

 

Please be kind enough to guide on how to resolve this issue. Thank you in advance!  

@* Salesforce Developers * @Admin Trailblazers @Salesforce.org System Administrators 

7 answers
  1. Today, 7:22 PM

    Module: Einstein Prediction Service 

    Unit: Get Predictions with REST Requests 

     

    I was getting errors but was able to resolve them by following your guidance above about setting IP Relaxation to "Relax IP restrictions". [Setup / Manage Connected Apps / Predicted Sales per Customer / Edit Policies] Thank you!

0/9000

🌟 Ever wondered what it takes to be a Credential Ambassador in the Salesforce ecosystem?  

 

In this episode of the Be More Podcast @Justyna Krajewska dives into the role, key skills, and the power of community engagement. Tune in for insights and inspiration! 🎧🚀  

 

Listen via the Audio Podcast Platform of your choice

Watch on YouTube 

 

#BeMore #Trailhead Challenges #TrailblazerCommunity #Trailhead Superbadges #Certifications #MVP #CredentialAmbassador #Webassessor Exams #Trailhead

 

 

@* Salesforce Platform * @* Customer Success * @Consultant Trailblazers @Architect Trailblazers @* Salesforce Developers * @Admin Trailblazers @* Trailhead Official *

0/9000

A Real-World Apex Challenge: 

 

Scenario: Your client wants to update ALL related contacts 

when an Account’s industry changes, but Governor Limits are blocking your Apex trigger.   

👉 What’s your best solution to optimize the trigger? (Bulkification, Future Methods, or Queuable Apex?)

⚡ Drop your expert insights below! 🚀 

   

 

#Salesforce Developer #Apex #TrailblazerCommunity

1 answer
  1. Today, 9:33 AM

    The optimal solution is to use Queueable Apex. While bulkification is always important, in this scenario asynchronous processing with Queueable Apex helps you bypass governor limits by moving the heavy processing (updating all related contacts) to a separate execution context.

    Future Methods: Although they allow asynchronous processing, they come with limitations such as lack of chaining, limited parameter types, and reduced tracking capabilities.

    Bulkification Alone: Bulkification is necessary but not sufficient in this case because updating thousands of related contacts in a synchronous context can quickly hit governor limits.

0/9000

📣 Introducing NEW Agentblazer Statuses on Trailhead!  

 

Agentblazers have the skills and vision to transform how work gets done in the agentic AI era. They keep pace with innovation, use digital labor to create value for their companies, and leverage Agentforce to turn ideas into reality.  

 

Today, we're thrilled to officially launch Agentblazer Status - a new level of recognition for those demonstrating exceptional expertise in AI and Agentforce.  Skill up and advance through three new levels including: 

 

✨Agentblazer Champion (Level 1) 

Available Now

 

✨Agentblazer Innovator (Level 2)

 Coming Soon

 

✨Agentblazer Legend (Level 3) 

Coming Soon

 

The future is here, where every Trailblazer can become an Agentblazer. 

 

➡️ Start your learning journey and earn Agentblazer Champion Status: trailhead.com/agentblazer

 

 

Once you become an Agentblazer Champion, share your success with us @Trailhead on social. 

  

📣 Introducing NEW Agentblazer Statuses on Trailhead! Agentblazers have the skills and vision to transform how work gets done in the agentic AI era.

 

#Trailhead  #Rewardandrecognition  #AI  #Agentforce

50 comments
0/9000

I have one datatable embedded in a parent component, last column of data table is editable but in case of inline editing, the box is not opening up for some screen size and it's varying machine to machine. I added some padding thinking it will provide some space for it to open up, but it worked for my machine not other's. problem lies in different screen size resolution in different machine, Any idea what to do? 

 

<div  class="parent-container">                        <c-custom-datatable                                columns={taskColumns}                                data={taskData}                                draft-values={taskDraftValues}                                key-field="whatId"                                oncellchange={handleTaskCellEdit}                                onrowselection={rowSelection}                                selected-rows={taskSelection}                                show-checkbox-column                                suppress-bottom-bar                        >                        </c-custom-datatable>                    </div>

 

@* Salesforce Developers *

 

 

#Salesforce Developer

1 answer
0/9000

Hi,  

 

I have written a apex class , in which I need to schedule that class every 5 minute.  

I tried executing below Approaches : 

 

Option 2: This executing every 5 mins per hour

global with sharing class ScheduleBatchApexDemo implements Schedulable {global void execute(SchedulableContext sc) { PricingEventReviewAggregatorContract.createPricingLogItemsContract();}Public static void SchedulerMethod() { string timeinterval = '0 5 * * * ?'; System.schedule('ScheduledDemo-Every5mins',timeinterval, new ScheduleBatchApexDemo()); }}

Please help if there is any optimized approach 

@* Salesforce Developers *

Option 1 : Executed code in anonymous window. But I dont want to have n number of scheduled Jobs. System.schedule('Schedule Job Name 1',  '0 00 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 2',  '0 05 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 3',  '0 10 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 4',  '0 15 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 5',  '0 20 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 6',  '0 25 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 7',  '0 30 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 8',  '0 35 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 9',  '0 40 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 10', '0 45 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 11', '0 50 * * * ?', new ScheduleBatchApexClassExample());System.schedule('Schedule Job Name 12', '0 55 * * * ?', new ScheduleBatchApexClassExample());
4 answers
  1. Yesterday, 5:59 PM

    I would consider a Queueable with a delay interval of 5 minutes that perpetually re-enqueues itself. 

     

    "Adding a Queueable Job with a Specified Minimum Delay" 

    https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_queueing_jobs.htm

     

     

    If your jobs runs long, you may want to enqueue it for 4 minutes instead of 5.  

     

    Queueables aren't guaranteed to be able to reenqueue so I might back it up with a finalizer to start a new chain, log errors, etc... and also possible a single hourly scheduled job to check the enqueued job and make sure your job is running successfully and restart it if needed.

0/9000

Say hello to Salesforce Lightning Design System 2 (Beta), the foundation of our agentic design system! 🎉 Bring your brand to life with increased styling flexibility, built-in accessibility, and the new Salesforce Cosmos theme. Activate and explore the Salesforce Cosmos theme in your sandbox and post your SLDS 2 (beta) questions in the @Design Trailblazers community.  

 

What’s new in SLDS 2? 📣

  • Admin Trailblazers: Empower users with Salesforce Cosmos, the new UI theme built on SLDS 2, for intuitive navigation and streamlined task completion.
  • Developer Trailblazers: Develop future-proofed code with enhanced styling hooks and use the latest developer tools to analyze and upgrade your styling API.
  • Designer Trailblazers: Quickly apply new color values and draw from an enriched color palette in Themes and Branding to unleash your creativity.

 

Ready to go? 🏁 We’ve got you covered! Get started with the SLDS 2 Transition Guide

 

Have you heard? 👀 The transition to SLDS 2 unlocks Dark Mode - coming to the Cosmos theme in Summer ‘25! Be sure to bookmark the SLDS 2 website and join @Design Trailblazers

 to stay up to date on what’s possible with SLDS 2.  Say hello to Salesforce Lightning Design System 2 (Beta), the foundation of our agentic design system! 🎉 Bring your brand to life with increased styling flexibility, built-in accessibility, and the n

 

CC: 

@* Release Readiness Trailblazers *; @Admin Trailblazers; @* Salesforce Developers *

2 comments
  1. Yesterday, 4:40 PM

    Hey @Ashlee Williams

     👋  

    Feeling batty is not fun at all, but I'm glad to hear you're excited for the new design.  

    Are you able to see the SLDS 2 option under Themes & Branding in any of your other non-developer instances?  

    The feature delivery was occurring in waves throughout this week, so some orgs may not have seen the SLDS 2 option until today. I'm wondering if it's still missing for you.  

0/9000

Hi community, I wanted to redirect the button I created in visualforce page to a create record form. 

In the experience cloud home page. 

 

<apex:outputLink value="{!URLFOR($Action.Application__c.New)}"  

      Apply Now 

    </apex:outputLink> 

 

These code is not working when I published as the attached ss error msg, but works fine when I preview it in my visualforce page, it opens to create record page but in Salesforce classic.  

 

Is it because the visualforce page component in experience cloud has a record id as shown in ss? 

To redirect button in visualforce page to create a record

 

Screenshot 2025-02-27 113920.png

 

Screenshot 2025-02-27 114404.png

 

Screenshot 2025-02-27 115126.png

 

@* Experience Cloud * @* Salesforce Developers *

 

 

#Experience Cloud

1 answer
  1. Yesterday, 3:38 PM

    Hi @Lim Chong Meng, Have you added your Visualforce page?

     

    You can verify this by following these steps in

    Setup:

    1. Navigate to Sites and DomainsSites
    2. Click on [your-experience-cloud-site]
    3. Go to Site Visualforce PagesEdit
    4. Ensure your Visualforce page is listed under Enabled Visualforce Pages

    I hope this helps!

0/9000

Hi All,

I want to learn the LWC in Salesforce.

Could anyone please provide the roadmap that I need to follow.

If possible could please share the resources as well

Thanks in advance 😇

#Salesforce Developer #LWC #LWC Component #LWC Development #LWC Components
11 answers
  1. Oct 25, 2024, 9:57 AM

    I can share you my udemy credentials..

    you can learn lwc from there as well or from the resources above provided

0/9000

Bindu Nair and myself will be presenting the Apex Roadmap: What’s New and What’s Coming session at #TDX25

 

Major areas covered will include Zip processing in Apex, dynamic formulas, cursors, and deprecated globals.  

Bindu Nair and myself will be presenting the Apex Roadmap: What’s New and What’s Coming session at .

 

Sessions (Agenda Builder)

 

Thursday, Mar 6

9:30 AM - 9:50 AM PST

Theater 4 (Level 3) 

 

Thursday, Mar 6

2:00 PM - 2:20 PM PST

Theater 3 (Campground, Level 2)

0/9000