Best Practices
Connecting your data sources to DataChat effectively is essential for collaboration, data exploration, and accurate access control. This guide outlines best practices for connecting your data seamlessly, whether you are working with database connections or shared datasets.
Choose the Right Authentication Method
DataChat supports two primary connection methods:
- OAuth Authentication
- Available for Snowflake and BigQuery.
- Strongly recommended wherever supported. OAuth enables user-level authentication and better alignment with modern data governance practices.
- Each user authenticates separately and is granted access based on their permissions in the source database.
- Username/Password or Service Account Credentials
- Use only when access to your organization’s data can only be provided using service accounts.
- All users share the same credentials, no individual setup is required.
Best Practice: Use OAuth when you want granular control over user access and to align with your warehouse’s centralized data governance policies. Use service accounts or shared credentials when policies aren't in place or when you want to simplify onboarding for multiple users.
Set Up OAuth Correctly
OAuth is the recommended connection method. No special organization-level setup is required for BigQuery, while Snowflake requires some additional configuration.
- OAuth credentials for each DataChat user can be set up via:
- The My Integrations menu
- The Database Browser during connection setup
- Snowflake OAuth will only be visible once the external OAuth client is configured:
- This must be done both in your Snowflake account and in DataChat.
- Admins can perform this setup independently, but we recommend involving a DataChat administrator to streamline the process.
Best Practice: Complete the OAuth configuration before trying to create or share connections. If your organization uses Snowflake and you don’t see OAuth as an option, confirm the external client setup is complete.
Understand How Connection Sharing Works
To collaborate effectively, be sure to share both datasets and their associated database connections.
- Always share the database connection when you share a dataset or session.
- You can share a connection with your entire organization, ensuring everyone has access to the necessary data.
- Datasets cannot be accessed unless the corresponding connection is also available to collaborators.
Best Practice: Before sharing a dataset, verify that the required connection has also been shared.
Know What Collaborators Need to Do
Depending on how a connection was configured, recipients of shared datasets (collaborators) may need to take specific actions:
Connection Method | Recipient Actions Needed |
---|---|
Username/password | None. |
Service account | None. |
OAuth | Must grant OAuth access in My Integrations. |
Best Practice: Remind collaborators to authenticate via My Integrations if the shared connection uses OAuth.
Understand How Dataset Definitions Behave
- Dataset definitions are stored within the DataChat dataset object, making them easy to manage and share within the platform.
- When a dataset is shared, its definitions are shared as well, ensuring consistency for all collaborators.
- If you want to maintain independent definitions, you can create your own copy of a dataset from the same source table.
Best Practice: Share datasets to allow teammates to benefit from your added definitions while maintaining control over their own versions when needed.