#Salesforce

Chris Smart, ve3rwjVE3RWJ@mastodon.radio
2025-06-18

Latest #Youtube #video from Pivot to #AI:
#Salesforce: AI agents don’t work — but we’re charging 6% more for AI anyway
youtube.com/watch?v=K7G_VL0VX9

2025-06-18

The Register: Salesforce study finds LLM agents flunk CRM and confidentiality tests. “A team led by Kung-Hsiang Huang, a Salesforce AI researcher, showed that using a new benchmark relying on synthetic data, LLM agents achieve around a 58 percent success rate on tasks that can be completed in a single step without needing follow-up actions or more information. Using the benchmark tool […]

https://rbfirehose.com/2025/06/18/the-register-salesforce-study-finds-llm-agents-flunk-crm-and-confidentiality-tests/

2025-06-17

Salesforce's new math: 6% price hike + AI features up to $550/month per user = "significant customer value" 🧮

Nothing says innovation like making your existing customers pay more while dangling shiny AI carrots. At least the basic Slack access stays free!

slashdot.org/story/25/06/17/16

#Salesforce #AI #SaaS

2025-06-16

Salesforce's own study reveals AI agents are getting a solid F in CRM 101 📊 Only 58% success on simple tasks, dropping to 35% on complex ones, plus they can't keep secrets. Maybe we should pump the brakes on that "AI will revolutionize business" narrative? 🤔

yro.slashdot.org/story/25/06/1

#Salesforce #AI #CRM

Xavier «X» Santolaria :verified_paw: :donor:0x58@infosec.exchange
2025-06-16

🔥 Latest issue of my curated #cybersecurity and #infosec list of resources for week #24/2025 is out!

It includes the following and much more:

🇨🇳 @SentinelOne Reported That it Faced A Year-long Campaign of #Cyberespionage from Chinese Threat Actors;

⌚️ A New Attack Called "SmartAttack" Uses Smartwatches To Secretly Steal Data From Air-gapped Systems;

#INTERPOL Has Dismantled Over 20,000 Malicious IP Addresses Linked to 69 Types Of #Malware;

🐛 ☁️ Researchers Found Five Zero-day Vulnerabilities and 15 Common Misconfigurations In #Salesforce Industry Cloud;

🇷🇺 🇮🇷 🇨🇳 #OpenAI Has Banned #ChatGPT Accounts Linked To Russian, Iranian, and Chinese Hacker Groups;

📨 Subscribe to the #infosecMASHUP newsletter to have it piping hot in your inbox every week-end ⬇️

infosec-mashup.santolaria.net/

2025-06-13

Salesforce just told AI rivals "you can look but you can't keep" when it comes to Slack data - like a digital museum with a very strict no-photos policy 📸🚫

Companies can temporarily access customer data but must delete it afterward. Nothing says "competitive moat-building" quite like changing the API rules mid-game!

slashdot.org/story/25/06/13/14

#Salesforce #Slack #AI

2025-06-11

Salesforce Industry Cloud faces 20 vulnerabilities, including 0days, exposing critical data and requiring urgent security updates.

Read: hackread.com/salesforce-indust

#CyberSecurity #Vulnerability #Salesforce #Cloud #0day

2025-06-11

Salesforce has restricted AI rivals from accessing Slack messages, citing privacy but aiming to fuel its own AI ambitions. Tools like Glean are now blocked from using Slack data, signaling a major shift in enterprise AI access and data control.

#Salesforce #Slack #EnterpriseAI #DataPrivacy #APILimits #Glean #TechNews #AIBattle #AIIntegration #DataAccess #TECHi

Read Full Article Here :- techi.com/slack-data-lockdown-

:rss: Qiita - 人気の記事qiita@rss-mstdn.studiofreesia.com
2025-06-11

Salesforce認定アプリケーションアーキテクト取得までの道のり- 難易度・教材まとめ
qiita.com/HyperChickenLegger/i

#qiita #Salesforce

2025-06-11

That "webinar" a few minutes ago about today's massive #salesforce / #heroku outage was pretty embarassing. I learned a few things:

1. the outage was caused because they run unattended-upgrades on some critical subset of their servers (based on the details of the outage, I'm thinking NAT boxes) and don't test/pin system packages???

2. the people hosting the webinar spend way too much time reading their slides

3. they didn't know that the heroku statuspage is down and returning 500's until I asked about it in the Q&A

really just... a whole thing...

2025-06-10

Display Product and Price Book Entry Fields in the Same Flow Data Table

The Salesforce Flow Data Table component is a powerful screen element that allows users to view and interact with records in a structured, spreadsheet-like format within a Flow. It supports features like record selection, sorting, and filtering, making it ideal for building guided user experiences. For example, in a product selection use case, a sales rep can launch a Flow that displays a list of products retrieved from the Product2 or PriceBookEntry objects. Using the data table, the rep can easily compare options and select multiple products to add to an opportunity, all within a single, streamlined Flow screen.

The data table component has been added to Salesforce based on the success of Eric Smith’s open source data table component published on UnofficialSF. The out of the box component is still not as powerful as the unofficialSF sibling.

In this post, I will show you how I leveraged the transform element inner join functionality to bring together Product2 or PriceBookEntry field values which I showed in the unofficial SF data table component.

The inner join functionality is a powerful one. It falls short of its full potential, because flow builder does not offer a way for us to generate custom data types to hold the information we bring together.

I created a placeholder Apex-defined data type which I used on the output side of the transform element. The unofficial SF data table supports the display of Apex-defined collection data. Leveraging this functionality, I brought the field values of both Product and Price Book Entry objects for the user to make an informed product selection.

🚨 Use case 👇🏼

User will select products and add them to the opportunity record. When making the selection, user should be able to see product information and price book entry information from the selected price book on the same row: Product name, code, family, description and unit price.

Apex-Defined Data Types in Flow

Apex-Defined Data Types allow developers to create custom, structured objects in Apex that can be used as inputs and outputs within Flow. These types enable more complex data handling than standard Flow variables, supporting multiple fields, including nested data, within a single variable. For example, you might define an Apex class that bundles together a product’s name, price, discount, and inventory status, then use it in a Flow to display custom pricing logic or pass structured data between Flow and Apex actions. This approach enhances flexibility and scalability when building advanced automation.

The key to defining an Apex-defined data type available for flow is the @AuraEnabled annotation in the Apex class. Once you write an Apex class that defines the fields in the Apex-defined object and deploy it to production, you don’t need to do anything in the flow builder to make this data type available in flow. In the areas where and Apex-defined resource selection is allowed, the new data type will be accessible.

I decided to create an Apex-defined data type with various multiple fields that I can use in the flow builder. The fields I generated are:

  • 4 strings
  • 2 numbers
  • 2 currency fields
  • 1 boolean (checkbox)

Here is the simple (the name says complex, but it is simple) Apex code that does the trick:

/** * ComplexDataCollection - Apex-defined data type for Salesforce Flow */public class ComplexDataCollection {        @AuraEnabled    public String string1 { get; set; }    @AuraEnabled    public String string2 { get; set; }    @AuraEnabled    public String string3 { get; set; }    @AuraEnabled    public String string4 { get; set; }    @AuraEnabled     public Decimal number1 { get; set; }       @AuraEnabled    public Decimal number2 { get; set; }       @AuraEnabled    public Decimal currency1 { get; set; }        @AuraEnabled    public Decimal currency2 { get; set; }     @AuraEnabled    public Boolean boolean1 { get; set; }  }

You will need a test class to deploy this code to production. That should be easy especially with the help of AI, but let me know if you need me post the test class.

Transform and Join Product and Price Book Entry Field Values to Populate the Apex-Defined Data Type

Follow these steps to prepare your data for the data table component:

  1. Get all the Price Book Entries for one Price Book.
  2. Get all the Products in the Org (limit your get at 2,000 records for good measure).
  3. Join the two collections in the transform element using the Product2 Id.
  4. Map the fields from source collections to the Apex-defined data type.

Here is more detail about the transform element configuration:

  1. Add the transform element.
  2. Add the price book entries collection from the get element on the left side.
  3. Add the product collection on the left side.
  4. Add an Apex-defined collection on the right side. In my case this is called “ComplexDataCollection“. Search by name. Make sure you check the collection checkbox.
  5. Click on the first collection on the left side at the top collection level (not next to the individual fields). Connect this to the collection on the right side. You will see instructions for inner join.
  6. Click on the second collection on the left side. You should see a join configuration screen. Configure your join. More instructions will follow.

Configure your join:

  1. Left source and right source order does not matter for inner join. Select both collections on the left side.
  2. The join key will be Product2 on the PriceBookEntry and Id on the Product2.
  3. Select the fields you want on the output. For me these are: Name, ProductCode, UnitPrice, Family, Description. I added also isActive which I did not end up using in the data table.
  4. Map these to your Apex-defined object fields: string1 through string4, currency1 and boolean1 (if you want isActive).

Your configured transform join should look like the screen image below.

Prepare the Apex-Defined Object Data for the Data Table

UnofficialSF data table supports Apex-Defined objects, but requires that the input is serialized. The data table cannot process Apex-Defined collection data as input. It expects a JSON format. More on that is available on Eric Smith’s post HERE.

To achieve this, you can either leverage Apex, or so the processing in flow. I tried both ways, and both methods works. Flow method requires looping.

Here is the Apex code for the invocable action that serializes the data:

/**  *  *  Sample Apex Class Template to get data from a Flow,  *  Process the data, and Send data back to the Flow *  This example translates an Apex-Defined Variable  *  between a Collection of Object Records and a Seraialized String *  Eric Smith - May 2020 * **/ public with sharing class TranslateApexDefinedRecords {         // *** Apex Class Name ***    // Attributes passed in from the Flow    public class Requests {            @InvocableVariable(label='Input Record String')        public String inputString;        @InvocableVariable(label='Input Record Collection')        public List inputCollection;     // *** Apex-Defined Class Descriptor Name ***    }    // Attributes passed back to the Flow    public class Results {        @InvocableVariable        public String outputString;        @InvocableVariable        public List outputCollection;    // *** Apex-Defined Class Descriptor Name ***    }    // Expose this Action to the Flow    @InvocableMethod    public static List translateADR(List requestList) {        // Instantiate the record collection        List tcdList = new List();    // *** Apex-Defined Class Descriptor Name ***        // Prepare the response to send back to the Flow        Results response = new Results();        List responseWrapper = new List();        // Bulkify proccessing of multiple requests        for (Requests req : requestList) {            // Get Input Value(s)            String inputString = req.inputString;            tcdList = req.inputCollection;// BEGIN APEX ACTION PROCESSING LOGIC            // Convert Serialized String to Record Collection            List collectionOutput = new List();   // *** Apex-Defined Class Descriptor Name ***            if (inputString != null && inputString.length() > 0) {                collectionOutput = (List)System.JSON.deserialize(inputString, List.class);    // *** Apex-Defined Class Descriptor Name ***            }            // Convert Record Collection to Serialized String            String stringOutput = JSON.serialize(tcdList);// END APEX ACTION PROCESSING LOGIC            // Set Output Values            response.outputString = stringOutput;            response.outputCollection = collectionOutput;            responseWrapper.add(response);        }        // Return values back to the Flow        return responseWrapper;    }}

Please note that this code refers to the name of the first Apex class. If you change the name, you will need to replace the references here, as well. Source: Eric Smith’s Blog.

See how the action will be used and configured in the image below.

Data Table Configuration

Here is how you configure the data table for this data:

  1. Give your data table and API name
  2. Scroll down to the advanced section and check the checkbox titled Input data is Apex-Defined.
  3. Add the string variable you used to assign the value of the translate action output to Datatable Record String.
  4. For the required unique Key Field input use the string that has the product code. For me this is string2.
  5. To configure Column Fields add string1,string2,string3,string4,currency1 there.
  6. Add 1:Name,2:Code,3:Description,4:Family,5:Price for Column Labels.
  7. Configure Column Types by adding 1:text,2:text,3:text,4:text,5:currency there.

Once completed, you should see a similar output to this image below.

Conclusion

While this example illustrates the way Apex can boost the capabilities of flow, it is very cumbersome to set up this solution to leverage Apex-defined data types in the flow builder and in the data table.

This was more of an experiment than a solution I will use frequently.

If you don’t want to write code, you can easily create a custom placeholder object to achieve a similar result with the out of the box data table component.

I look forward to having this functionality built into the flow builder in the coming releases. I hope Salesforce product teams will prioritize this.

Explore related content:

How to Use the Data Table Component in Screen Flow

Send Salesforce Reports and Dashboards to Slack with Flow

How to Use the Repeater Component in Screen Flow

#DataTable #InnerJoin #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials #TransformElement

Display Product and Price Book Entry Fields in the Same Flow Data TableTransform Inner Join ConfigurationCompleted Transform Join ConfigurationTranslate and Serialize Action
2025-06-09

Security Week 2524: кража данных из Salesforce с помощью голосового фишинга

Команда Google Threat Intelligence на прошлой неделе опубликовала отчет о системных атаках на организации, целью которых является хищение данных из CRM-системы Salesforce. Важной особенностью атаки является использование так называемого vishing или голосового фишинга. Работает атака следующим образом: сотруднику компании звонят на мобильный телефон, представляются специалистом техподдержки и убеждают ввести в интерфейсе Salesforce код для авторизации стороннего приложения. Приложение, доступ к которому открывает сотрудник компании, является модифицированной версией официальной утилиты Salesforce Data Loader , обеспечивающей возможность автоматизированной выгрузки информации. Данная тактика привела к целой серии успешных взломов с последующей кражей данных компаний.

habr.com/ru/companies/kaspersk

#salesforce #vishing

2025-06-08

Hackers are impersonating IT support in phone calls to trick employees and breach corporate systems, says Google. Their main target? Salesforce environments.

🔗 hackread.com/hackers-fake-it-s

#CyberSecurity #Phishing #Vishing #Google #Salesforce

Juan Manuel Garridoegafutura
2025-06-08

La noticia es la siguiente

-------> lttr.ai/AfKOe

2025-06-08

📢 L'attaque vishing d'UNC6040 cible les instances Salesforce
📝 Selon le **Google Threat Intelligence Group (GTIG)**, le groupe de menace **UNC6040** mène des campagnes de **vishing** pour compromettre les instances Salesforce des ent...
📖 cyberveille : cyberveille.ch/posts/2025-06-0
🌐 source : cloud.google.com/blog/topics/t
#Salesforce #TTP #Cyberveille

Client Info

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