Leveraging data that is ‘trapped’ within unstructured data files like PDFs is a powerful capability within Agentforce. With an Agentforce Data Library this ability to surface PDF content through an Agent is now available in a ‘No Code’ fashion to all Salesforce Admins.
So what is our Agentforce unstructured data use case?
Let’s say we have a variety of PDFs about the warranty coverage for vehicles. We have a customer Experience Cloud site where the customer will log in and see their current warranty information. We also want these customers to be able to ask questions about the warranty program. At this point all of that warranty information is ‘trapped’ inside of these PDFs. We could surface the actual PDFs or try to work with Knowledge within Service Cloud. But we can do better: Let’s actually surface the data within the PDFs in a very effective way through a chat interface to these customers. Let’s let Agentforce work effectively with this unstructured data.
First a demo of how this works.
- Here is our Agent who is ready to answer our questions.
Agentforce Agent Ready
- Here is our question: For a 2024 Ford F150 how do I make a warranty claim?
- Here is the answer from our Agent
Agentforce Agent Answer
- It worked! How do I know that? Because the answer came word for word from the PDF content that I had uploaded earlier.
- Here is a piece of that FAQ document that exists as a PDF.
FAQ Content
How was this solution built?
- An Agentforce Data Library was built.
- Go to Setup, Search for Agentforce Data Library
- Click on ‘New Library’
Create new Agentforce Data Library
- Give it a Name, API Name and Description and click on Save.
- Once you have your Agentforce Data Library you have to choose between leveraging Knowledge or File Uploads. You cannot do both in the same Library. In our example we are doing File Uploads.
- We then upload whatever PDF files we want so the content can be used by your Agent. In this example I uploaded a couple of FAQ documents about vehicle warranty information.
Upload Files to Library
- At this point when the file uploads occur there is a lot happening for us automatically in the background in Data Cloud. Salesforce has ingested that PDF, chunked it out and placed the content in some Data Cloud objects so it can be indexed and easily retrieved.
- The base object showing that the file has been uploaded goes in the ‘DMO’ called ‘RagFileUDMO’. You can view it in the ‘Data Explorer’ in Data Cloud.
File level DMO in Data Cloud
- There are two other objects where the ‘Chunks’ of data live. When we did the File Upload into the Agentforce Data Library, Data Cloud automatically pulled the content out of the PDF, broke the text/content into ‘chunks’ and then put those ‘chunks’ of text/content into a DMO where it is indexed and made to be searchable. There is a ‘SI_chunk’ and a ‘SI_index’ DMO. Here is the ‘SI_chunk’ one…
Search DMO in Data Cloud
- There will be use cases where doing a manual load into an Agentforce Data Library would not be manageable or scalable, so there are integration options where files (Unstructured Data) could be loaded into Amazon S3, Azure Blog or GCP and then automatically pushed to Data Cloud. We will save those steps for another blog post. 🙂
- Now that the PDF content is ready to be used, we need to tell our Agent to use this specific Agentforce Data Library. An Agent can only point at one Agentforce Data Library so it knows specifically where to look.
- Open up your Agent by going to ‘Agents’ in Setup and then using the drop-down to the right of your Agent to choose ‘Open in Builder’.
- Now select the Agentforce Data Library you have created after you select the Library ‘Book’ icon on the left.
Agentforce Data Library
- We now want to make sure that our Agent will use the ‘Answer Questions with Knowledge’ Action when the user prompts the Agent with questions about warranty.
- In order to do this I created a new ‘Warranty FAQ’ Topic and gave it instructions and examples.
Topic Configurations and Instructions
- Then I made sure it has only one Action, which is the ‘Answer Questions with Knowledge’. This out of the box Action will use the Library that is associated with this Agent.
Topic Actions
- Note that if I did not create this custom ‘Warranty FAQ’ Topic the Agent might default over to the ‘MigrationDefaultTopic’ Topic and not use the proper Action.
- Building proper and detailed Instructions is very important within an Agent.
- Remember that you can do a lot of great testing and see which Topics are Actions are being selected and executed within the Agent Builder.
That is it!
We have an Agent that can leverage PDF content that was created with ‘No Code’. This solution is fully within the Trust architecture that Salesforce has in place for Agentforce. We needed the Agentforce Data Library, our PDFs, and a new Topic. That is really it!
If you are brainstorming about use cases for Agentforce, please read on with this blog post from my colleague Darshan Kukde!
Here is another blog post where I discussed returning structured data instead of the unstructured data we talked about in this blog post.
If you want a demo of this in action or want to go deeper please reach out and connect!