Hi there,
This is a great use case, and you're right—accessing Dataverse knowledge without authentication presents a challenge due to the platform's security model.
By design, Dataverse enforces authentication to protect sensitive business data. This means bots using Dataverse data for generating responses will require authenticated access, even if the bot itself is public.
If you want to make the bot publicly accessible without requiring users to log in, consider these alternatives:
Use an External Data Layer: Create a lightweight API or Azure Function that exposes only the necessary data from Dataverse. This API can be called by the bot without requiring user authentication, but you must ensure it doesn’t expose sensitive information.
Cache Public Data: If the data is not sensitive and doesn’t change frequently, you could cache it in a public data source (e.g., Azure Blob Storage or a public-facing database) and connect your bot to that instead of Dataverse directly.
Use Power Pages: If you're open to using Power Pages, you can embed the bot there and control access to Dataverse data via authenticated sessions, while still offering a public-facing experience.
Always ensure that any public exposure of data complies with your organization’s data governance and privacy policies. Even seemingly harmless CRM data can be sensitive in the wrong context.
Let me know if you'd like help setting up an API layer or exploring Power Pages integration.
If this answer was helpful, please consider marking it as accepted.
Best regards,
Daniele