Skip to main content
Featured group

* Data 360 *

Welcome! This group is dedicated to your success with Salesforce Data 360. Join the conversation here to stay up to date on the product, learn best practices, and everything in between. Use this group to review resources, ask questions, help each other, and share experiences. --------------------------------------- This group is maintained and moderated by Salesforce employees. The content received in this group falls under the official Forward-Looking Statement: http://investor.salesforce.com/about-us/investor/forward-looking-statements/default.aspx

Hi Trailblazers! 👋

I’m wondering if anyone has more experience with or information about Notebook AI? 

 

We’re planning to build an RFP Agent, and researching a Request for Proposal (RFP) is mentioned as one of the use cases for Notebook AI. However, there doesn’t seem to be much more information available about how Notebook AI can be used in this scenario.

 

Has anyone worked with Notebook AI in connection with RFP Agents, or have any additional information, examples, or resources to share?

 

Would love to hear about your experiences! 🙌 

5 answers
  1. Today, 6:01 AM

    Hi @Patrik Lundgren

    Notebook AI itself isn't well documented for the RFP use case specifically, but here's what I can piece together plus some alternatives worth considering. 

    What Notebook AI actually is: It's a Data 360 (formerly Data Cloud) feature a workspace where you connect content sources (files, SharePoint, Salesforce data) and an underlying Agentforce Employee Agent gets auto provisioned to answer questions grounded in that connected content. This agent is meant to be used only within the Notebook AI workspace itself the required variables, context, and libraries are configured there, and even though it shows up under Agentforce Agents, using or creating it directly from that list isn't supported and can behave unexpectedly. The intended pattern is connecting a native Data 360 search index (e.g. a SharePoint vault) so it stays synced, then having an Agentforce agent run in the background detecting new documents, reading them, and triggering downstream actions like alerts. 

    For an RFP Agent specifically, that maps reasonably well conceptually: you'd feed Notebook AI your past proposal answers, product docs, pricing sheets, and case studies as connected sources, and it could research/answer questions against that corpus. But I didn't find anything from Salesforce documenting a concrete RFP-specific workflow or template beyond it being listed as a use case no worked example, no reference architecture for that scenario specifically. 

    Purpose-built alternatives if Notebook AI's docs stay thin, several vendors already build RFP-response tooling natively into Salesforce: 

    • Inventive AI generates opportunity-aware RFP responses using historical answers and connected content, syncing details, timelines, and status back to the Opportunity, with a widget addable to the Opportunity record page via Lightning App Builder.
    • AutoRFP.ai installs as an AppExchange managed package, creating a custom RFP project object with two-way sync to Opportunities status, response counts, due dates.
    • GPTfy documents a five phase Salesforce+AI RFP process (Intake, Analysis, Preparation, Review, Approval) with routine-question automation and confidence scoring for review focus.

     

    I hope you find the above information helpful. If it does, please mark it as Best Answer to help others too. 

0/9000

Hi Trailblazers! 👋

Has anyone received the winner notification email for the Data 360 Quest yet?

I completed the Quest and was wondering whether the winner emails have started going out.

If you have received an email, could you please share:

  • When you received it
  • Whether it was from Salesforce
  • Whether it was a winner/voucher notification

It would be really helpful for everyone waiting for the results. 😊

Thanks, and congratulations to all the participants! 🎉

3 answers
  1. Today, 5:34 AM

    I’m also curious about this update. Hopefully, the winner notifications are being rolled out soon. It would be helpful if anyone who has received the email could share the timing and details so others know what to expect. Best of luck to everyone who participated! 🎉

0/9000

Hi Team,

I'm working on populating fields from my Snowflake Zero Copy Source, which is mapped to a Custom DMO (Profile type), onto the Contact page layout. This Custom DMO has a direct 1:1 relationship with the Individual DMO. And, the Account Contact DMO (Contact Object) also has a direct 1:1 relationship with the Individual DMO. 

 

After unifying the Contacts, I'm unable to transfer attributes from the Custom DMO to the Contact page layout. These are the condition I have checked and my setup meets both of them i.e.,

  1. For the related list, I can only use either the Profile or Engagement DMO.
  2. The DMO used for the related list must undergo identity resolution and have an established relationship with the Individual DMO.

Are there any other conditions I should verify? Does a Zero Copy data source support Data Cloud related lists? Any insights from you all would be greatly appreciated!

Thank you.

1 answer
  1. Yesterday, 2:35 PM

    The key condition you’re missing is that Salesforce Data Cloud related lists are only supported for ingested DMOs that have undergone identity resolution and are tied to the Individual DMO. Zero Copy sources can be mapped and unified, but they do not

    currently support related lists on CRM page layouts. 

     

    Why Zero Copy Doesn’t Work for Related Lists

    • Zero Copy = Federation, not ingestion
      • Data Cloud registers external tables as Data Lake Objects (DLOs) and queries them in place. 
      • The data stays external; only metadata and query paths are stored.
    • Related lists require ingested DMOs
      • Related lists on CRM page layouts depend on identity resolution and relationships built on ingested DMOs.
      •  Federated (Zero Copy) DMOs don’t materialize inside Data Cloud, so they cannot be surfaced in related lists.
    • Supported downstream features
      • Zero Copy DMOs do work for segmentation, calculated insights, and identity resolution.
      • They don’t support related lists or page layout rendering because those require local object materialization.

    Glad to help! If this answers your question, please consider marking it as the Best Answer—it helps others in the community find the solution more easily. Thanks!

0/9000

I recently completed Data 360 certificate and I documented what I learned and how I understood the key concepts.  

 

This will help you understand Data360 ecosystem better:  

https://saisocial.substack.com/p/data-cloud-consultant-how-to-pass

 

 

 

3 comments
0/9000

Hello Trailblazers, 

 

Navigating the Data 360 credit consumption model can be challenging when trying to map overall credit usage back to specific transforms, refreshes, or pipeline resources.

To help address this gap, I recently authored an article for the Salesforce Architects blog outlining a practical credit feedback loop designed to help you:

  • Test Build Logic: Validate transforms against filtered data before running full-scale datasets.
  • Pinpoint Usage: Trace consumption back to specific architecture components rather than relying on aggregate totals.
  • Right-Size Cadence: Align refresh schedules directly with business requirements to avoid unnecessary credit burn.
  • Architect Visibility: Embed credit monitoring directly into your system design from day one.

📖 Read the full article: https://sforce.co/4A0Ae46

How is your team currently tracking and optimizing Data 360 credit usage in your architecture? I’d love to connect and hear your approaches in the comments!  

#Data360  #Salesforce Admin #Salesforce #Data Management #Data Cloud 

0/9000

Hi everyone,

 

I’ve encountered a specific behavior in

Salesforce Data Cloud Streaming Data Transforms (SDT) that isn't explicitly detailed in the official documentation regarding record persistence. I would like to understand the underlying logic or if this is the intended "Streaming SQL" behavior for Data Cloud.

 

The Scenario:

  • Source DLO (sessionEvent): Category: Engagement. Primary Key: UUID (unique for every single event).
  • Fields: cookie__c (Business Key) and type__c (Event type).
  • Streaming Data Transform Logic: SQL

SELECT

cookie__c AS id__c, -- Target Primary Key

cookie__c AS cookie__c

FROM sessionEvent

WHERE type__c = 'login'

 

Target DLO (anonymousProfiles): Category: Profile. Primary Key: id__c (mapped from cookie__c).

The Observed Behavior:

  1. Event A arrives: { id__c: 'uuid-1', cookie__c: 'cookie001', type__c: 'login' }.
    • Result: A record with ID cookie001 is correctly created in the Target DLO.
  2. Event B arrives: { id__c: 'uuid-2', cookie__c: 'cookie001', type__c: 'navigation' }.
    • Result: The record cookie001 is automatically deleted from the Target DLO.

The Mystery: Even though the Source DLO has unique UUIDs as Primary Keys (meaning Event B is NOT an update of Event A but a new record), the Streaming engine seems to be performing a "Retraction".

It appears that when a new event for the same "Business Key" (cookie__c) enters the stream but fails the WHERE clause, the engine interprets this as a state change for that ID and issues a Tombstone/Delete

command to the Target DLO to maintain the "integrity" of the SQL definition. 

 

Questions:

  1. Is this behavior documented? Does the SDT engine treat the Target PK as a stateful materialized view that "retracts" records if the latest event for a business key doesn't meet the criteria?
  2. Is there a way to make the SDT "Append-only" for the target DLO without using composite keys (e.g., cookie + type) to prevent deletions?
  3. Does the engine keep an internal state of business keys even if the Source DLO is categorized as Engagement?

I've already solved this using a composite key in the target, but I want to understand the "why" behind this automatic deletion to design better data architectures in the future.

 

Has anyone else observed this "Silent Deletion" or "Retraction" logic?

1 answer
  1. Sep 3, 4:31 PM

    Hi Juan Pablo, 

     

    Great diagnosis — and yes, this is the actual (if under-documented) mechanics of Streaming Data Transforms. 

     

    Answering your three questions: 

     

    1. Is this documented? Not explicitly with this framing, but it follows from how SDT works under the hood: it behaves like a continuously materialized view keyed on the target Primary Key, not a simple append/insert stream. The engine treats your target PK (id__c/cookie__c) as "the current state for this key, per the transform's SQL definition." When a new source event arrives for that same key and no longer satisfies the WHERE clause, the engine's correct answer to "what does the view look like now for this key?" is "nothing" — so it retracts/deletes the previously materialized row. This is standard streaming materialized-view semantics (the same pattern you'd see in Spark Structured Streaming or ksqlDB), not a bug or hidden special case. 

     

    2. Can you make it append-only without a composite key? Not with a single business-key PK feeding a filtered SELECT — the moment your target PK is purely the business key, the transform is inherently a stateful "latest matching state per key" view, and any later event for that key that fails the filter will retract it. Your composite key fix (cookie + type) is exactly right, because it changes the semantic from "current login state per cookie" to "did this cookie ever have a login event" — each (cookie, type) pair becomes its own independent, append-safe row that no other event can invalidate. 

     

    3. Does it track state even though the source is Engagement-categorized? Yes — the Engagement categorization on the source DLO governs retention/volume handling on the source side, but it doesn't change the transform engine's need to maintain per-target-key state to know whether to insert, no-op, or retract on each new source event. 

     

    So: not a "silent deletion" bug — it's the expected behavior of a stateful streaming view keyed on a business key with a filter, and composite keys are the documented-by-implication way to avoid it. 

     

    Reference:

    https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_considerations.htm&language=en_US&type=5

     

     

    Good instinct isolating this via the composite key — that's the standard pattern for exactly this scenario.

0/9000

Bring your coffee, questions, experiences, and opinions — our inaugural Datablazers Coffee Chat

 is happening next Tuesday, August 25 at 9am PT, and we want you there!  

 

This is your space — a casual, conversational hangout where practitioners in this community explore the questions we're all working through, swap approaches, and learn from each other. Hosted by fellow Datablazers @Mehmet Orun and @Anu Pandey

 

For our first conversation, we're tackling a question a lot of us wrestle with: How do you know where you're going with your data architecture before you start building the pipes?

 

Come ready to think out loud with the group — through open discussion and breakout rooms, we'll dig into the decisions that should come before picking connectors, integration patterns, or platforms. 

 

Register here 

Bring your coffee, questions, experiences, and opinions — our inaugural Datablazers Coffee Chat is happening next Tuesday, August 25 at 9am PT, and we want you there! This is your space — a casual, co 

2 comments
0/9000

"We can't find the field specified for International Contact on the Account Contact DMO or it isn't configured properly."

Stillhave this error, don't know what to do!

Yhanksfor your help on this superbadge

 

Super badge Data Cloud Fundamentals - Add Data Model Object 

1 answer
0/9000
3 answers
  1. Sep 2, 6:21 PM

    Thank you for your detailed answers, guys! 

    Actually, I had just added a stream and DMO mapping, then tried Identity Resolution only. I deleted that after testing, and nothing else was left. I checked each and every tab, nothing was there. It just wouldn't let me delete that relation. 

    After trying multiple ways, I found an option in the data model to edit the category. I switched it to "Other," and after that I was able to delete it since the primary key logic became invalid. It looks like a technical glitch, nothing was actually connected. 

    Thanks again for your help! 

0/9000

⭐️ Master the Basics of Data Exploration with Data 360 Query Editor ⭐️  

Ever wonder how to quickly pull the exact business answers you need? This module guides you step-by-step through the main features of the Data 360 Query Editor. You will learn how to create your workspace, run simple queries, and pull the exact information you need without getting overwhelmed. 

👉  Complete this Trailhead Module 

⭐️ Master the Basics of Data Exploration with Data 360 Query Editor ⭐️ Ever wonder how to quickly pull the exact business answers you need? 

0/9000