Connect to Real-Time Outlook Data in Power Apps Using Dataflows to Build Custom Applications
Power Apps is a suite of apps, services, and connectors that allows users to build custom applications with minimal or no coding. It empowers businesses to create tailored apps that solve specific business challenges, automate workflows, and integrate with various data sources, including Microsoft Dataverse, SQL Server, and third-party services.
Dataflows in Power Apps simplify the process of importing, transforming, and loading external data into Microsoft Dataverse or other storage systems. They allow users to connect to multiple data sources (like Salesforce, Excel, or SQL databases), clean or shape the data, and store it in Power Apps. When paired with the CData API Driver for Power BI, it provides access to Outlook data to build custom applications and more
This article demonstrates how you can easily connect to Outlook using the CData API Driver for Power BI and integrate your Outlook data through the Power Apps on-premises data gateway.
Configure a DSN to connect to Outlook data
Installing the Power BI Connector creates a DSN (data source name) called CData PBI Outlook Sys. This the name of the DSN that Power BI uses to request a connection to the data source. Configure the DSN by filling in the required connection properties.
You can use the Microsoft ODBC Data Source Administrator to create a new DSN or configure (and rename) an existing DSN: From the Start menu, enter "ODBC Data Sources." Ensure that you run the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).
Using OAuth Authentication
Microsoft Graph API uses OAuth 2.0 for authentication. You must register an application in the Microsoft Azure Portal to obtain OAuth credentials (Client ID and Client Secret).
Obtaining OAuth Credentials
- Log in to the Azure Portal.
- Navigate to Azure Active Directory > App registrations.
- Click New registration to create a new application.
- Enter an application name and select the appropriate account types.
- Set the Redirect URI to your application's callback URL (e.g., http://localhost:33333 for desktop apps).
- Click Register to create the application.
- On the application overview page, copy the Application (client) ID - this is your OAuthClientId.
- Navigate to Certificates & secrets and create a new client secret.
- Copy the client secret value - this is your OAuthClientSecret.
- Navigate to API permissions and add the required Microsoft Graph API permissions:
- Mail.Read - For accessing email messages
- Contacts.Read - For accessing contacts
- Calendars.Read - For accessing calendar events
- Tasks.Read - For accessing To Do tasks
- offline_access - For obtaining refresh tokens
- Click Grant admin consent to grant these permissions.
Connecting with OAuth
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to OAuth.
- InitiateOAuth: Set this to GETANDREFRESH. The CData API Profile for Outlook will automatically walk through the OAuth process in order to obtain the access token.
- OAuthClientId: Set this to the Application (client) ID from Azure Portal.
- OAuthClientSecret: Set this to the client secret value from Azure Portal.
- TenantId: Set this to your Azure AD tenant identifier (GUID or domain name like 'contoso.onmicrosoft.com').
- CallbackURL: Set this to the Redirect URI you specified in your app registration (e.g., http://localhost:33333 for desktop apps).
Example connection string
Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;
Configure the on-premises data gateway to recognize the CData API Driver for Power BI
In this section, we will configure the on-premises data gateway to detect the CData API Driver for Power BI installed on your system. If you haven't installed the data gateway yet, you can download it from Microsoft's official website.
Set Up the Power BI Gateway
Follow the given process to configure the on-premise data gateway on your machine:
- Download and install the on-premises data gateway (recommended) option.
- Sign into the gateway.
- Create a name for the new gateway and specify a recovery key.
- Open the new gateway, navigate to the Connector tab, and select the path C:\Program Files\CData\CData API Driver for Power BI from the folder. Click on Apply.
NOTE: Select the folder where the gateway will search for the CData Power BI Connector.
- Once the CData API Driver for Power BI is identified by the gateway, you're good to go.
Configure a dataflow connection in Power Apps
Once the on-premise data gateway is configured and a new gateway is created, follow these steps to create a dataflow that pulls in the Outlook data into Power Apps:
- Open Power Apps.
- Select Dataflows from the left panel on the Power Apps screen and click + New Dataflow.
- Provide a name to the dataflow and click Create.
- Select ODBC from the list of data sources.
- On the ODBC Connection settings screen, use the connection details you set up earlier by entering DSN=Connection name (in this case, DSN=CData PBI Outlook Sys) in the connection string. The on-premise data gateway will display available gateways for connection - select the one you created. Due to the current specifications of Power Apps dataflows, authentication is required for ODBC connections. Choose Basic as the authentication type and enter the Outlook Username and Password. Click Next.
- Outlook is now connected to Power Apps. Under Display options, expand CData under ODBC and Outlook under CData, and a list of all the Outlook tables will appear in the panel. When you select any one of these tables, a preview will appear, showing that the Outlook data is correctly referenced through the Power BI connector and on-premise data gateway. Next, click on Transform Data.
- On the query editing screen, if no column conversion is needed, you can skip this step and proceed by clicking on Next.
- In the Choose destination settings screen, you can select how the selected table needs to be loaded by choosing options like Load to new table, Load to existing table, and Do not load. You can also change the Table display name and description as required.
- Finally, choose how you'd like to update your data: Refresh manually or Refresh automatically. In this case, we have set it to Refresh automatically. By scheduling it to update every 45 minutes, as shown below, data will be collected and registered every 45 minutes timeframe, ensuring the most up-to-date information is always available. (You can select any timeframe based on your convenience)
- Click on Publish. The dataflow will now be created, published, and displayed as a part of the dataflow list on the Dataflows screen.
Get Started Today
At this point, you will have created a dataflow using live Outlook data and connected it to Power Apps. To learn more, explore the CData Power BI Connectors for Salesforce and download a free 30-day trial from the CData API Driver for Power BI page.
Feel free to reach out to our Support Team with any questions.