Ready to get started?

Connect to live data from Drift with the API Driver

Connect to Drift

Pipe Drift Data to CSV in PowerShell



Use standard PowerShell cmdlets to access Drift tables.

The CData Cmdlets Module for Drift is a standard PowerShell module offering straightforward integration with Drift. Below, you will find examples of using our API Cmdlets with native PowerShell cmdlets.

Creating a Connection to Your Drift Data

Start by setting the Profile connection property to the location of the Drift Profile on disk (e.g. C:\profiles\Drift.apip). Next, set the ProfileSettings connection property to the connection string for Drift (see below).

Drift API Profile Settings

Drift uses OAuth-based authentication.

You must first register an application here: https://dev.drift.com. Your app will be assigned a client ID and a client secret. Set these in your connection string via the OAuthClientId and OAuthClientSecret properties. More information on setting up an OAuth application can be found at https://devdocs.drift.com/docs/.

After setting the following options in the ProfileSettings connection property, you are ready to connect:

  • AuthScheme: Set this to OAuth.
  • OAuthClientId: Set this to the Client Id that is specified in your app settings.
  • OAuthClientSecret: Set this to Client Secret that is specified in your app settings.
  • CallbackURL: Set this to the Redirect URI you specified in your app settings.
  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.

$conn = Connect-API  -Profile "$Profile" -Authscheme "$Authscheme" -OAuthClientId "$OAuthClientId" -OAuthClientSecret "$OAuthClientSecret" -CallbackUrl "$CallbackUrl"

Selecting Data

Follow the steps below to retrieve data from the Contacts table and pipe the result into to a CSV file:

Select-API -Connection $conn -Table Contacts | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myContactsData.csv -NoTypeInformation

You will notice that we piped the results from Select-API into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.

The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.