Skip to main content

#Reporting10 debatiendo

Previously using Einstein bot with picklist questions, it was easy to report on the customers intent when starting a messaging session. 

 

Moving to Agentforce only, we no longer have this picklist option so do not have the same solution. 

 

Has anyone found a good way to report on contact reasons/customer intent with Agentforce only conversations please? 

 

#Agentforce  #Reporting

1 respuesta
  1. 1 sept, 15:36

    Hi Vicky, 

     

    Since Agentforce replaces the picklist-menu style intent capture with free-text + AI classification, the reporting side moves to Agentforce Observability/Analytics rather than a Case/session field. 

     

    Two native options to look at: 

     

    1. Agentforce Observability — lets you segment and cluster conversations by "Intent tags," drilling into which Topic/subagent handled each session. This is the closest native replacement to your old picklist-based intent reporting, but it's session-level analytics, not a field on the record itself. 

     

    2. Utterance Analysis dashboard (in the Agentforce Default folder) — groups similar customer utterances into Clusters, then into Categories, so you can see patterns in what customers are actually asking for, even without a picklist. Reports refresh weekly. 

     

    If you specifically need intent captured as a reportable field on the Case/Messaging Session (e.g., for existing dashboards), the practical workaround most teams use is: have the agent invoke a Flow/Apex action early in the conversation that writes the classified Topic name into a custom field on the Case or MessagingSession record — since Topic classification already happens under the hood, you're just persisting it instead of relying on native analytics. 

     

    References: 

    -

    https://www.salesforce.com/agentforce/observability/

     

    -

    https://trailhead.salesforce.com/content/learn/modules/agentforce-analytics-and-monitoring/monitor-agent-conversations-with-utterance-analysis

     

     

    Worth checking if Observability's Intent tags alone cover your reporting need before building the custom field workaround — it may save you the extra flow logic.

0/9000

Hello,  

 

I'm trying to include a column in a multi-step Apsona report that pulls the full text from an Alert on the Account object, which I believe is a long-text field. The report will save and run, but the column is blank. Any pointers? 

 

#Reporting

1 respuesta
  1. Manoj Nambirajan (Dell Technologies) Forum Ambassador
    29 ago, 8:13

    @Colin Moon Try to Open your Multi-Step Report. Then Navigate to the specific query step and Click on the Retrieved fields tab.

    Use the field picker to find and select your Field. 

    Save the step and ensure that this field is checked in your final report layout options so it displays in your results grid.  

     

    If still an issue.. you may have to refresh Apsona metadata cache layer

0/9000
C B ha preguntado en #Reports & Dashboards

GOAL: Show Week over week report of what deals changed in the pipeline excluding closed won or closed lost deals 

 

Built a custom object (Pipeline Growth Snapshot) that takes a weekly snapshot of open opportunities to support week-over-week pipeline trend reporting. It works well for open deals, but we've found that once an opportunity closes (Won or Lost), it only gets captured one more time, the week it closes, and then never again. 

 

This creates a reporting problem: our week-over-week reports compare this week's number to last week's. Once a deal's snapshots stop, the next comparison is a real number vs. nothing, which displays as a large drop, even for deals that closed Won. There's no way from the report side to tell a real loss apart from a win that simply aged out of the snapshot window. 

 

Questions for anyone who's solved this: 

 

  • Is there a standard pattern for extending snapshot capture for closed opportunities (e.g., for 30-60 days post-close) specifically to support trend reporting, without keeping every closed deal in the snapshot indefinitely?
  • Has anyone used native Historical Trend Reporting instead of a custom snapshot object for this, and does it have the same limitation?
  • Any recommended way to flag, on the report itself, whether a dollar change came from a win versus a loss, without needing a live cross-object Stage lookup (our report type doesn't expose the Opportunity's live Stage field, only the snapshot's own captured Stage)?

Appreciate any patterns or gotchas others have run into with this. 

 

#Reports & Dashboards  #Reporting  #Reports

6 respuestas
  1. 17 ago, 14:31

    Hi C B - you've diagnosed it exactly: the snapshot filters to open-only, so closed deals fall out and a WoW comparison can't tell a win from a loss from an aged-out row. Here's the pattern for all three questions. 

     

    Q1 - extend capture for recently-closed deals: change the snapshot source criteria from 'open only' to 'open OR closed in the last N days'. If you snapshot with a scheduled Flow, filter the Get Records to IsClosed = false OR CloseDate >= TODAY() minus 60. If you use a native Reporting Snapshot, set the source report filter to 'Closed = false OR Close Date = LAST N DAYS:60' (filter logic 1 OR 2). Recently-closed deals then keep getting captured through the trend window and naturally age out once their close date passes 60 days - so you get WoW continuity without hoarding every closed deal forever. 

     

    Q3 (the important one) - flag win vs loss from the snapshot alone, no live lookup: capture the disposition ON each snapshot row at capture time. Add IsClosed and IsWon checkboxes to your Pipeline Growth Snapshot object and populate them when you write the row - or a small formula field 'Disposition' = Open / Won / Lost derived from the captured Stage. Because it's stored on the snapshot, the report reads it directly - no cross-object lookup to the live Opportunity Stage needed. Then bucket/group the WoW change by that captured disposition, so a deal that drops out because it was Won is categorized as a win, and only a genuine Closed Lost shows as a real pipeline decrease. 

     

    Q2 - native Historical Trend Reporting: it does not have the drop-out problem (it retains a deal's history for the retention window whether or not it closed), so it's worth a look. The trade-offs: it's limited to a rolling retention window (default ~3 months, configurable), tracks only up to ~5 fields, and the 'Opportunities with Historical Trending' report type/format is fairly rigid (matrix, a handful of snapshot dates). Great for 'what did this deal look like X weeks ago', but for bespoke WoW logic plus longer retention the custom object is more flexible - once you fix the source filter from Q1. So use HTR if 3 months and its report format is enough; otherwise keep your object and just widen the capture criteria and store the disposition. 

     

    Net: widen the source filter to include recently-closed deals, and stamp IsWon/IsClosed (or a Won/Lost/Open formula) onto every snapshot row - that combination kills the phantom drop and lets the report separate wins from losses with no live lookup. Hope that helps!

0/9000

I have been tasked to created the following report. 

We track donations (NPSP) on the Account object. I need a report to show every Account that donated between $1000 - $5000 in a calendar year at least once in the past 3 years (we have roll-ups for the past 5 years on the Account records). That part is very easy. 

 

Here is what I cannot figure out. They want me to exclude any Donor who gave over $5000 in any one (or more) years in the same time period. So if a Account gave $2500 this year (which includes them), $500 the previous year, and $6400 the year before that - they would be excluded due to the last figure. Not sure the filtering to get that done. Appreciate any help.  

 

#Reports  #Reporting

2 respuestas
  1. Vuk Stajic (MVRK Inc.) Forum Ambassador
    25 ago, 21:05

    Sorry, what do you mean by "We track donations (NPSP) on the Account object."? 

     

    You are not using Opportunities to track donations? 

     

    I think this specific reporting will require some work in excel! 

     

    BUT if you mean you have a rollup that says total donations for 2024, 2025 and 2026 then you might be able to use those filters. 

     

    BUT it will be a VERY long and complicated filter! 

     

    I would create a report of all accounts and the 3 columns for the 3 years. Export it. And use excel to filter to just the ones that have no years over 5k and at least one year over 1k. 

     

    In Salesforce maybe it would be like this: 

     

    2024 < 5001 AND 2025 < 5001 AND 2026 < 5001

    AND(

    2024 > 1000

    OR 2025 > 1000

    OR 2026 >1000)

     

    If that makes sense :) it is not written in proper formula syntax, just logical syntex.

0/9000

Hi all, 

 

I posted a similar followup to a years-old question asked by someone else, but I need some clarity from the community. 

 

Our use case:  When we implemented Salesforce back in 2012/2013 we had several custom objects related to the Contact.   These are read-only, for reporting/viewing purposes only.  A scheduled integration/automation "pushes" recent changes (audited on the database server level) from our Student Information System to these custom objects (they send upsert OR delete calls via SOAP API, based on a calculated "external ID" key field). 

 

As can be expected, for various reasons we have had data become "out of sync" or "stale" in relation to our SIS.  I have been making a strong push to move to External Objects.   This would provide real-time viewing of the related data from our SIS.  I coded an oData 2.0 data source from scratch to expose the tables/views and the related external objects.  I was able to consume the oData service in Salesforce "External Data Sources."  I modified the resulting external objects as needed (field length, type, lookup relationships, etc.).   I added the related lists to Contact page layouts.   All was looking great. 

 

Then the issue of reporting came up.  Some associates report on this data, and filter on it.   ONe of thse custom objects is called "Service Indicator."  

 

In our Environment, EnrollmentRx is our "main" App Exchange package and their primary object is "Application".   This object has a lookup relationship to Contact - a master/detail relationship to be exact.   So one contact can have many applications.  Contact is required. 

 

Auto-created Report type: Applications with Contacts.   

 

So with the custom object, which also had a master/detail relationship with Contact, the team was able to create a new report type Applications with Contacts with Service Indicators.  A must have B, B must have C.  The team also created reports with filters like "Application Status = Enrolled" and "Service indicator Code = XXX".  This would produce a report of only applications with that status, only service indicators with that code, tied together by the Contact relationship. 

 

Now they tried creating a new report type with the external object (call it Ext Service Indicator) as the C record instead.   Again, the same way A must have B and B must have C.  Things looked promising at first - the Application Status filters worked as normal, as did any other filters on Contact or Application. 

  However, filters on Ext Service Indicator are not applied before the "join" is done behind the scenes.  So if there are ANY Ext Service Indicator records related to the Contact, a row will be returned in the report, with null/placeholder values for any of the Ext Service Indicator fields in the report. 

 

This is clearly different than how the filters work with "regular" custom objects.   I tried modifying the Contact lookup on the external object to be indirect lookup, or a "regular" lookup (we do store the SFDC ContactID in our SIS when we first pull over the applicant/application data from Salesforce).  It made no difference. 

 

I was thinking there must be a way to make this work.   We can't do master/detail lookups/relationships on external objects - unless there is something I missed and if so please let me know if I am wrong.   Here are some other alternatives I tried: 

 

Ext Service Indicator as primary object ("A" record) in report type:  I can't use Contact or Application as the B record as ther is no parent/child relationship.   So I included Contact fields via the Contact lookup, and then Applciation records via the "Active Application" lookup on the Contact (this is not optimal but I wanted to see what would happen).   This returned an error because the row count for the various subsets was too high. 

 

Joined report - Report type Ext Service Indicator the only object.   Tried joining the Applications with Contacts report type, and also just the Contact report type.   Apparently there is no common field, though both have a lookup to Contact. 

 

I am at a loss and short of creating separate external objects that match specific subsets of pre-filtered values, which would be nightmarish to maintain, I cannot think of any workable solution.      I had advocated for external objects for a long time and the college was willing to give it a shot.   Now I find myself needing to explain yet one more "quirk" preventing adoption.  We are charged for storage space for copying data into custom objects, so external objects would allow us to delate that data and free up some storage space.   This was another "selling" point on my part.   We do not want to store duplicate/copied data in our CRM unless absolutely necessary. 

 

I am honestly at a point where my only recommendation to the team is to report directly from our SIS or some other external reporting tool if possible, unless anyone here has been able to find a workaround to filtering on external objects when they are not the "A" record in the report definition.   Or if you have some up with some way to use joined reports in a way that enforces filters on external objects and correctly links the two and knocks out non-matching rows (by definition, in my example, all Applications with have a Contact, and all Service Indicators will have a Contact).  I am a bit concerned when I read that even if I had a joined report it would still be similar to an "outer join" so I had to start with Ext Service Indicator as the primary object and put me right back in the same quandry. 

 

I look forward to hearing from any of you who have found a workable solution, using the delivered Report Type / Reports functionality in Salesforce.   Purchasing third-party analytics/reporting tools from the App Exchange is not an option for us, just FYI. 

 

Thanks so much for any insights you may have, and pointers as to what I am doing incorrtectly if applicable.  I think the issue is there is not a "master-detail" relationship as I think that would only make sense with real objects (as there are rules that concern deleting parents will delete children, etc. and this really would not apply to externally-hosted data). 

 

Peace, 

Jim  

 

#Appexchage Apps  #Reporting  #Reports & Dashboards

2 respuestas
0/9000

đź’» True to the Core Deep Dive: Reporting and Analytics Recap

 

Thank you to everyone who joined True to the Core Deep Dive today, and to Salesforce product leaders @Umair Rauf, @Lokesh Tripathi, @Sundararajan Srinivasan, and @Mayank Sengar for sharing updates and answering your questions on reporting and analytics.   đź’» True to the Core Deep Dive: Reporting and Analytics Recap Thank you to everyone who joined True to the Core Deep Dive today, and to Salesforce product leaders , , , and for sharing updates and answ🎥 Missed the session? 

You can watch the full episode on demand here.  

 

📝 Vote on future TTTC Deep Dive topics! 

Please take a moment to fill out this quick survey about the session and help shape future session topics. 

 

đź”— Resources shared during the session: 

â—Ź Salesforce+ Analytics Event on 1/21

â—Ź Trailhead Module on Tableau Next

â—Ź Admin Blog

 

 Stay tuned for updates on next month's session! We can't wait for you to join us again.   

 

#True To The Core @IdeaExchange #AwesomeAdmins #Salesforce Developer #Architects #Reporting #Reports & Dashboards 

 

@Salesforce Admins Live Sessions, @* Release Readiness Trailblazers *, @* Salesforce Platform *, @* Trailhead Official *, @Trailblazer Community Cove, @Admin Addicts, @* Salesforce Developers *@Dreamforce for Admins, @Architect Trailblazers @* Data 360 *

0/9000

📊 Reporting questions stacking up, #AwesomeAdmins? We’re one week out from the next True to the Core Deep Dive on reporting and analytics. 

 

Join us January 20 where we'll dig into: 

 âś¨ Updates to Reports and Dashboards 

 đź”Ť How those updates extend across Data 360 and semantic models 

 đź’¬ A live Q&A with product leaders  

 

Save your seat ➡️ 

https://www.linkedin.com/events/truetothecoredeepdive-reporting7407157676754915329/theater/📊 Reporting questions stacking up, ? We’re one week out from the next True to the Core Deep Dive on reporting and analytics. #True To The Core @IdeaExchange #AwesomeAdmins #Salesforce Developer #Architects #Reporting #Reports & Dashboards 

 

@Salesforce Admins Live Sessions, @* Release Readiness Trailblazers *, @* Salesforce Platform *, @* Trailhead Official *, @Trailblazer Community Cove, @Admin Addicts, @* Salesforce Developers *@Dreamforce for Admins, @Architect Trailblazers @* Data 360 *

0/9000

📊 Reporting and analytics are the focus of our January 20 True to the Core Deep Dive. 

 

Join Salesforce product leaders @Umair Rauf, @Lokesh Tripathi, @Mayank Sengar, and Sundararajan Srinivasan for an open conversation covering recent updates and what’s ahead. 

 

Here’s what you can expect: 

➡️ Recent updates across Reports and Dashboards 

➡️ How those updates extend across Data 360 and new semantic models 

➡️ An extended live Q&A

📊 Reporting and analytics are the focus of our January 20 True to the Core Deep Dive.

If reporting and analytics are part of your day to day work, or if you’ve been curious about where things are headed, this is a great opportunity to hear directly from the product teams and get your questions answered. 

 

➡️ RSVP here to get a reminder to watch. ⬅️ 

 

Learn more about the True to the Core Deep Dive series and watch past episodes: 

sforce.co/tttcdeepdive

 

#True To The Core @IdeaExchange #AwesomeAdmins #Salesforce Developer #Architects #Reporting #Reports & Dashboards 

 

@Salesforce Admins Live Sessions, @* Release Readiness Trailblazers *, @* Salesforce Platform *, @* Trailhead Official *, @Trailblazer Community Cove, @Admin Addicts, @* Salesforce Developers *@Dreamforce for Admins, @Architect Trailblazers @* Data 360 *

0/9000

There is the ability to report on Cadences with Monthly metrics (seen below), but the business folks at the org I'm supporting want to see Daily or Weekly cadence metrics. Is this possible? I haven't seen a way to accomplish this via custom Report Types.

 

Also, is this a normal/reasonable request? I don't see anyone else questioning these missing metric intervals in the community at all which leads me to believe that standard sales orgs are fine with monthly cadence reporting without getting more granular. Daily/Weekly reporting all seems to be done at the User/Rep level.

 

#SalesEngagement #Sales Cadences #HVS Sales Cadences #Reporting

 

Cadence Reporting: Is there a way to report on Cadence Daily or Weekly Metrics?

3 respuestas
0/9000

Teams within my organization have encountered a limitation regarding the filter options for dynamic dashboards, as it is currently capped at 50, which falls short of the required filter metrics. Unfortunately, there is currently no alternative solution to bypass this limit.

 

Therefore, we would greatly appreciate it if this limitation could be increased, enabling teams to consolidate their dashboards and streamline their operations.

#Reports & Dashboards #Dashboards #Filter Option #Reporting

1 comentario
0/9000