#SalesforceDeveloper

2025-03-12

Agentforce Hackathon TDX25: My Hackathon Tips

When Salesforce opened registration for TDX 2025 (TrailblazerDX), they also announced the Agentforce Hackathon, which was to be held before the main event. The event was free to attend and it came with a bunch of prizes including a grand prize of $100,000.

Hackathon

A hackathon is a fast-paced event, usually lasting from one to several days, where people collaborate intensively on technology projects. Participants—such as developers, designers, and product managers—team up to tackle challenges or create new solutions from scratch.

Key features of a hackathon include:

1. Collaboration: People from different backgrounds work in small teams to develop a proof-of-concept, prototype, or even a fully functioning product.

2. Innovation and Creativity: There’s usually a focus on rapid ideation and experimentation. This environment encourages participants to test out new ideas or use emerging technologies.

3. Time Constraint: A hackathon often runs over an intense, short period—like 24 or 48 hours—though some may last for several days. The time limit pushes teams to produce results quickly.

4. Competition or Challenge: Many hackathons incorporate prizes or judging criteria around best idea, best design, or most innovative project. This gamified element helps motivate participants.

5. Community and Learning: Hackathons also act as social and educational events. Newcomers can learn from more experienced participants and meet potential collaborators or employers.

Hackathons are hosted by a variety of organizations, from tech companies and startups to universities and nonprofits, each often targeting a specific theme (e.g., healthcare, finance, machine learning, social impact). They can serve as a way to spur creativity, recruit talent, or generate new ideas and products in a short period of time.

Salesforce Agentforce

Salesforce Agentforce is a digital platform that enables organizations to build and deploy autonomous AI agents across various business functions. These agents can perform tasks such as customer service, sales development, and marketing automation, operating 24/7 to enhance productivity and efficiency. Agentforce integrates seamlessly with existing Salesforce applications, allowing businesses to customize agents to their specific needs, thereby augmenting their workforce with AI-driven capabilities.

Agentforce Hackathon

For the Agentforce Hackathon you were asked put together a team of max 5 people. You could build your team before getting to the Hackathon, or pick your team there. Although initially it looked like all TDX participants could join, Salesforce later announced what type of participants will be allowed. International participants from many countries, recent Salesforce employees and Salesforce vendors were ineligible to participate in the event due to legal constraints.

The event started at 4:00 PM on Monday and continued until midnight that day. The teams came back the next day as early as 7:00 AM and worked until latest at 8:00 PM on Tuesday. Food, coffee, soda and snacks were provided. Everyone who submitted a survey at the end of the event received a t-shirt. There was a grand prize of $100,000 as well as more vertically focused smaller prizes like best use of Slack. The winners were announced on Wednesday during the keynote. Congrats to the winners.

My Hackathon Experience

Overall the event was simultaneously fun and exhausting. Most people arrived in San Francisco after a long travel, and they were also impacted by the timezone changes.

I did not have a team or an idea ready when I went there. I collaborated with Lynda Kane and Andrea Stratton, two people I know in the Salesforce ecosystem. Collaborating with different brilliant minds was one of the best parts of the experience.

The event required demo skills as you had to record and submit a 5 min long video along with the documentation at the end of the event.

I’m a builder at heart, and I was proud that we had a working solution by the end. That was a key goal for me. Additionally, the event gave me an opportunity to lock in and experiment with Salesforce Agentforce for 13-14 hours. It is a great way to learn the features hands on.

One of my teammates, Lynda, said, “Working with Andy and Andrea for the Hackathon was fun and a great collaborative experience. This was an excellent way to get hands-on with the tools and build on our skills. The way I need to write instructions for prompts and agents is finally starting to click for me.”

Collaboration was a key part of the hackathon, and Andrea Stratton, one of my teammates, found the hands-on challenge to be a valuable learning opportunity: “I appreciated getting to learn from other community members with different skillsets and backgrounds,” she said. “Having to work with Agentforce without a guided walkthrough that we get with Trailhead was a worthwhile challenge and learning experience.”

The Result

Our team successfully completed the Salesforce Agentforce TDX Hackathon. As Team Kudosforce, our solution looks at reviews submitted by customers and creates immediate feedback and actionable insights into Slack to expedite continuous improvement.

It was wonderful to work with Lynda Kane and Andrea Stratton at this event.

Watch the demo video below.

Tips for Hackathons

1. Since the time is very restricted, it helps to build a team before the event and align on working principles.

2. The idea is the most important part, so it would be helpful to discuss it before the event.

3. While it’s important to have an idea you like before Hackathon, you can not produce work and build the solution before the event. This is against the rules.

4. Review the submissions of the previous winners. This is public information. See what resonates with the judges.

5. I’d say a big visionary idea is more important than a practical use case that you can build 100% within the time provided. Some aspects of your solution can be mocked and you can communicate that. That is totally OK.

Conclusion

Participating in the Agentforce Hackathon at TDX 2025 was an unforgettable experience—intense, rewarding, and a fantastic way to push creative and technical limits. The event reinforced the power of collaboration, rapid ideation, and hands-on experimentation with new Salesforce technologies. Whether you’re a seasoned builder or a first-time hackathon participant, the key is to embrace the challenge, stay adaptable, and focus on crafting a compelling solution.

Now that we have Agentforce & Data Cloud dev orgs available, preparing for a hackathon has become much easier. If you’re considering joining a future event, check out the upcoming Agentforce Virtual Hackathon and get involved! With $140,000 in prizes, there are plenty of opportunities to win:

🏆 Overall Grand Prize – $50,000 in cash (1 winner)
🎖 Honorable Mention: Most Impactful – $20,000 in cash (1 winner)
💡 Best Use of Slack Prize – $25,000 in cash (1 winner)
🎨 Honorable Mention: Most Creative – $20,000 in cash (1 winner)
🎤 Honorable Mention: Best Demo Delivery – $20,000 in cash (1 winner)
🗳 People’s Choice (Public Voting) – $5,000 in cash (1 winner)

If you’re up for the challenge, start preparing now! Have questions or insights? Drop them in the comments!

Explore related content:

TDX 2025 News: Salesforce Agentforce 2dx and AgentExchange

How to Get Your AI-Powered Enhanced Developer Org with Agentforce and Data Cloud

New Agentforce Specialist Certification

#Agentforce #Hackathon #Salesforce #SalesforceAdmin #SalesforceDeveloper #TDX25 #TrailblazerDX

Agentforce Hackathon Team
Overture Rede Private LimitedOvertureRede
2025-03-05

🚀 We Are Hiring! 🚀

Position: Salesforce Developer
Location: Bangalore (Hybrid – 3 days WFO)
Experience: 5+ Years
Budget: Up to 18 LPA
Notice Period: Immediate to Serving March Month

📩 Submit your CV: bhavikas@overturerede.com

📞 Contact: +917428694900

📢 Apply now
zurl.co/IeK73

2025-02-04

Transform Element Now Supports Join Collections

With the Salesforce Spring ’25 release, a new feature has been introduced for flow builders: the ability to join collections using the transform element. This functionality opens up new possibilities for combining related data in flows. It is now easier to analyze and present information in a structured way. For many flow builders, especially those who haven’t worked with joining collections before, this might seem like a complex new tool. But it allows users to merge datasets based on related keys or conditions, without needing to manually write complex logic or loops. Cool, right?

In this blog, we’ll dig into how this new feature works, the types of joins available, and how the transform element simplifies the process of joining collections. As described in the release notes, users can now combine source collections from related flow resources into a target collection. This could be particularly useful when you need to combine data from Salesforce with external systems, such as merging order records to create a more comprehensive view of customer transactions. The result? A single, unified dataset that can be displayed in a flow screen!

To grasp how this functionality works and how it can be applied, we’ll first explain the concept of join collections and what an INNER JOIN means. Then, we’ll explore a practical use case that demonstrates this new functionality in action.

Join Collections

Join functionality in collections allows you to combine data from two or more datasets based on a related key or condition. This makes it easier to analyze and correlate information. The most common types of joins are INNER JOIN, LEFT JOIN, and RIGHT JOIN. An INNER JOIN returns only the records that have matching keys in both collections, focusing solely on the intersection of datasets. A LEFT JOIN returns all records from the left collection and matches from the right collection, filling in NULL for non-matching right-side data. Conversely, a RIGHT JOIN returns all records from the right collection and matched records from the left, with NULL for any unmatched left-side data. This functionality is essential for tasks like merging customer data with transaction records, identifying missing information, and ensuring comprehensive reporting in data processing workflows. For now, the transform element only supports INNER JOIN.

Transform Element

Many of you will remember from my other posts, that the transform element is a welcome recent addition to the flow arsenal. It helps us to save loops, and makes many operations easy.

The transform element is a powerful tool that allows you to map and manipulate data between different data structures without needing complex logic or additional steps. It enables users to take data from one source, such as a record, collection, or variable, and reshape or reformat it to match the structure required by another destination, like a different object or variable. This includes mapping fields directly, applying formulas to modify values, and even handling nested data for more advanced scenarios. By simplifying data manipulation, the transform element reduces the need for multiple assignments or loops. This makes flows more efficient, easier to maintain, and visually streamlined. It’s particularly useful when integrating data between related objects or preparing data before updates or creation in Salesforce.

Essentially, transform element processes one or more collections on the source side. It outputs variables, or collections on the output side. Transform element can also process Apex defined variables, which are custom structures that are similar to custom objects, but can be generated by code or integrations.

The transform element can now take two source collections and use join keys to produce an inner join. This resulting collection includes field values from both source collections. This functionality is especially useful, when you have an Apex defined collection variable you need to send the data to as an output. This custom variable structure can not be defined and produced within the flow canvas, so far.

Combine Collections with Inner Join

Let’s follow a use case to see how this functionality works.

🚨 Use case 👇🏼

Let’s say I would like to combine Account fields and Contact fields joining the two collections using the AccountId and produce an output similar to person account.

Since I cannot create an output structure using flow builder for this use case, I created a custom object to store the results. In a normal business scenario, this would generally not make sense.

Follow the build for demonstration purposes:

  1. Create a custom object to hold a few field values from the contact and a few from the account.
  2. Create an autolaunched or screen flow.
  3. Add a get element to get the contacts in your dev org.
  4. Add a get element to get the accounts in your dev org.
  5. Add a transform element to create the join.

🔥 Bonus

If you have too many accounts (limit = 2,000), add a limit to your gets to avoid error. You could use the assignment element with equals count operator. This will allow you to see the count of records in source and output collections.

To build out this element, configure the join keys for each source collection (contacts and accounts). Then, select the join fields to return into the target collection (combined person custom object).

An INNER JOIN with multiple keys combines two source collections based on matching key pairs. You must ensure that all specified key pairs match for a record to be included in the result. This is called a composite key join, and it is ideal for complex data relationships. It’s useful when a single key can’t uniquely identify or relate records. In this case, we will use a single key.

Output Collection

Transform element only supports inner joins as this point, so left vs. right source selection doesn’t matter. However, the selection will matter once Salesforce expands the functionality beyond inner joins.

This element will produce one row of data for each contact that has an AccountId in the Account lookup. Output excludes contacts without accounts and accounts without contacts, focusing only on matched records.

Conclusion

This is yet another transform functionality that saves us loops. We can combine field values from two related collections, and output a single collection without having to loop.

The transform element is mainly designed to address integration use cases efficiently. This functionality will be especially useful for processing integration response data that is structured in an Apex-defined variable type.

Explore related content:

6 Things You Can Do With The Transform Element

How The Transform Element Saves You Loops

Transform Element and HTTP Callout for Random Test Data

The Orchestrator Vision

Collection Filter and Collection Sort Challenge

#Apex #LowCode #Salesforce #SalesforceAdmin #SalesforceDeveloper #TransformElement

Transform element join collections functionality combining contact and account fields.Transform Element Join Configuration Screen showing left and right join keys and fields.
2025-02-04

Can You Start With a Loop Inside Your Schedule-Triggered Flow?

Salesforce automatically runs schedule-triggered flows at specific times and intervals without needing user interaction. These flows are ideal for tasks that need to occur on a recurring basis, such as daily data updates, batch record processing, or sending scheduled notifications. By configuring the start time, frequency (daily, weekly, etc.), and conditions for triggering, admins can efficiently manage routine operations, ensuring data consistency and reducing manual workload. Schedule-triggered flows help streamline business processes and maintain system accuracy by automating time-based actions.

There are three common misconceptions about schedule-triggered flows

  1. New schedule-triggered flow builders usually think they must get all the records their flow needs to process, loop, and process all records in a single flow interview. In other words they need to bulk-process their flow logic themselves at the time of build. I will show you below, that this assumption is incorrect.
  2. New flow learners have a hard time understanding how their start time is scheduled. When should they use a schedule-triggered flow versus a scheduled path in a record-triggered flow? I will explain how you can correctly decide in this article.
  3. Most flow builders assume that schedule-triggered flows require an object selection in the start element. Later in this article, I’ll demonstrate how schedule-triggered flows can be designed to run at a specific future time, automating processes that aren’t necessarily tied to records of a particular object defined in the start element.

Get and Loop Elements Right After the Start Element Anti-Pattern

When building a schedule-triggered flow, you select an object in the start element and optionally add conditions. Here’s a metaphor to explain: Imagine you want your flow to run next Saturday at midnight and update all cards with a face value of 3 to 13. In a deck, there are 4 such cards. Your logic only needs to handle one record (one card). The flow engine automatically creates separate interviews for each matching record (all 4 cards), processing them without manual loops or retrieval. This means all 4 cards are updated efficiently, with the flow engine handling bulk processing for you. No extra logic is needed—just define the criteria, and the engine does the rest.

🚨 Use case 👇🏼

Let’s return to Salesforce and discuss how schedule-triggered flows are executed. Suppose you want to process all Contact records in your org where the Title is ‘Director’ and update it to ‘Senior Director.’

Here’s how you’d set it up:

  1. Configure the start element to run on the Contact object.

2. Add a condition to the start element to filter records where the Title equals ‘Director.’

3. Add an update element to change the Title from ‘Director’ to ‘Senior Director.’

When the flow runs at the specified date and time, the flow engine processes each matching record individually. For example, if there are 4 matching records, the engine will execute 4 separate flow interviews, one for each record. These interviews are batched, with each batch containing up to 200 interviews (or records). So, for 4 records, the flow executes in a single transaction, while for 201 records, it would execute in 2 transactions.

Avoiding Common Pitfalls: Why You Shouldn’t Manually Loop Through Records in Schedule-Triggered Flows

What new learners tend to do is configure the start element, then proceed to get all contacts in the org where the title is Director, loop through them and process them. If there are 4 matches in the Org, this multiplies the update execution need and produces inaccurate results. Your single interview will run 4 loops, executing on 4 matching records and producing 4 interviews. That is actually 16 executed loops that are needed.

In summary, you build your flow to handle a single record, set up your start element to define which records the flow need to run on, and don’t worry about the rest, the flow engine will take care of it.

Schedule-Triggered vs. Scheduled Path in Record-Triggered Flow

Source: Trailhead by Salesforce https://trailhead.salesforce.com/content/learn/modules/autolaunched-scheduled-flows/schedule-a-flow

While there are overlaps, the usage of schedule-triggered flows are different in nature than the scheduled path under record-triggered flow. Here are the parameters that need to be considered:

  • When you have a specific date and time you need your flow to execute – e.g. next Thursday at 11:00 PM – then you must use a schedule-triggered flow.
  • When you have a frequency requirement for recurring actions, then you must build a schedule-triggered flow.
  • When you need to relate your execution time – 1 hour after or 1 day before – to a record being created or updated (DML), then you must use a scheduled path in a record-triggered flow. Remember though: you cannot determine the time of the action for offsets longer than a day. If you have an email action and a 1-day after offset, the system will send the email at the same time the create/update occurred one day later.

Certain situations can generate approximately the same outcome using either solution. This is generally a confusing topic when you first start diving into time delay operations using flow.

Object Selection

You may have noticed, the Object reference in the start element of the schedule-triggered flow is marked as optional. Most people never try this alternative. When you build a schedule-triggered flow without an object selection, you create a scheduled job to run in the future. This flow, as opposed to the other flows with object selection, will for sure run only one transaction containing one single flow interview. Therefore this is a flow that can include loops and collections. Having a loop at the start of this type of flow is not an anti-pattern. Remember that you can use the transform element, collection filter and sort to lighten the load when you deal with collections.

🚨 Use case 👉🏼 Streamlining Operational KPI and Trendlines for Optimization

Conclusion

The power of scheduled jobs in Salesforce lies in their ability to automate time-dependent tasks, ensuring consistency, efficiency, and reliability across business processes. By utilizing scheduled jobs—whether through schedule-triggered flows, Apex schedulers, or declarative tools—organizations can automate repetitive tasks like data cleanups, report generation, and batch processing without manual intervention. This not only saves time and reduces errors but also ensures that critical processes run during off-peak hours, optimizing system performance. Scheduled jobs also enhance scalability, allowing businesses to handle large data volumes and complex workflows with minimal oversight.

Using schedule-triggered flows make scheduled jobs more accessible to most profiles on the Salesforce platform. It is sometimes better to handle some actions after hours while the Org usage is down to avoid potential system performance issues. Flow builders should always consider this tool to produce the automations that will enhance the company KPIs and goal attainment performance.

Explore related content:

Salesforce Flow Best Practices

How To Use Custom Permissions In Salesforce Flow

One Big Record-Triggered Flow or Multiple?

Understand How Scheduled Flows Affect Governor Limits (External)

#Salesforce #SalesforceAdmin #SalesforceDeveloper #ScheduleTriggered

Schedule-triggered flow start element configuredScheduled paths vs schedule-triggered flows
Overture Rede Private LimitedOvertureRede
2025-01-31

We are Hiring!
Salesforce developer
.
📍 Location: Bengaluru

📩 Submit your CV: resumes@overturerede.zohorecruitmail.in

📞 Contact: +917428694900

👉 Apply Now: .
zurl.co/IeK73

Valuecodersvaluecoders
2025-01-10

Transform your business with our expert Salesforce development services. Customized solutions, seamless integrations, and exceptional results await you!
More info: valuecoders.com/salesforce

2024-10-30

Popular Validation Rules for Salesforce Flows including Phone, Email and Address Fields

Salesforce Flow validation rules are essential for ensuring data accuracy and consistency in automated workflows. By setting specific conditions that data must meet before it is saved or processed within a flow, these rules prevent erroneous or incomplete information from moving forward in the workflow. For instance, you might create a validation rule that requires certain fields, such as phone, email and address, to be filled out or ensures that a value falls within a specified range before the flow can continue. This not only enforces data quality standards but also helps avoid downstream errors that could disrupt business processes or lead to poor decision-making. With flow validation rules, Salesforce admins can maintain control over data integrity while enhancing user experience by proactively catching errors.

Below are a few popular flow validation rules I used in my projects

Name

Standard length for Name Fields is 40 for First Name, 20 for Middle Name and 80 for Last Name.

First Name

Error message:

Your entry needs to be shorter than 40 characters.

Validation rule:

LEN({!First_Name})<=40

Social Security Number (USA)

Error message:

Please enter 9 digits for the SSN field.

Validation rule (this rule allows for dashes):

OR( REGEX( {!Social_Security_Number} , "[0-9X\-]{11}"), REGEX( {!Social_Security_Number} , "[0-9]{9}") ) 

Address

Standard length for address fields are 256 for Street Address and 80 for City. The ZIP (Postal) code can be in XXXXX or in XXXXX-XXXX format (USA).

State Code

Error message example:

Please enter a State Code consisting of two capital letters.

Validation rule:

NOT(  AND(    NOT(ISBLANK({!State})),    OR(       LEN( {!State}) <> 2,       NOT(CONTAINS({!State}, UPPER({!State})))     )  ) ) 

ZIP (Postal) Code (USA)

Error message example:

ZIP code needs to be in XXXXX or in XXXXX-XXXX format.

Validation rule:

REGEX({!MailingZIP} , "\d{5}(-\d{4})?")

Revenue

Error message example:

Your entry needs to be shorter than 16 digits.

Validation rule (Currency upper limit):

{!Revenue}<10000000000000000

Email

Error message example:

Please enter a valid email address.

Validation rule:

REGEX({!Email_Address},"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}")

Phone number

Error message example:

Please enter a 10 digit phone number.

Validation rule:

AND( LEN({!Mobile_Phone})=10, NOT(REGEX({!Mobile_Phone} ,"^[a-z A-Z]*$"))) 
 

Incorporating Salesforce Flow validation rules into your automated workflows can be transformative for maintaining data accuracy and enforcing business standards. These rules not only ensure that critical data points like names, social security numbers, and contact information meet required formats but also prevent incomplete or invalid entries from progressing through your system. By using validation rules to define acceptable data criteria, you create a more reliable, error-resistant environment that supports both user confidence and data integrity. 

Explore related content:

6 Things You Can Do With The Transform Element

Top 9 Salesforce Winter 25 Flow Features

Enhance UX in Flow with Custom LWC Icon Selector

#Admin #Administrator #Developer #Email #HowTo #Phone #Revenue #Salesforce #SalesforceAdmin #SalesforceDeveloper #SalesforceTutorials #UseCases #ValidationRules

Validation Rules Blog Image
Forceark Academyforcearkacademy
2024-06-01

Advance your coding career! 🌟 Explore progression opportunities for Salesforce Developers. Unlock insights to propel your journey in the dynamic Salesforce ecosystem. 💻🚀

Forceark Academyforcearkacademy
2024-05-29

Code to success! 🚀 Explore the essential skills every Salesforce Developer needs. Elevate your proficiency and thrive in building innovative solutions on the Salesforce platform. 💻💡

Forceark Academyforcearkacademy
2024-05-25

Chart your coding journey! 🌐 Explore diverse roles leading to becoming a Salesforce Developer. Unlock insights into career pathways within the dynamic Salesforce ecosystem. 💻🚀

Forceark Academyforcearkacademy
2024-05-22

Credentials that count! 🏆 Explore the must-have certifications and skills for Salesforce Developers. Elevate your coding profile and excel in the Salesforce ecosystem. 💻🚀

Forceark Academyforcearkacademy
2024-05-18

Craft your path! 🌐 Learn step-by-step how to become a Salesforce Developer. Unlock skills and certifications to embark on a successful coding journey. 💻🚀

Forceark Academyforcearkacademy
2024-05-15

Elevate your income! 💰 Discover strategies to maximize earnings as a Salesforce Developer. Uncover insights to thrive in the competitive tech landscape. 🚀💻

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst