CData Python Connector for Pipedrive

Build 26.0.9655

CData Python Connector for Pipedrive

Overview

The CData Python Connector for Pipedrive allows developers to write Python scripts with connectivity to Pipedrive. The connector wraps the complexity of accessing Pipedrive data in an interface commonly used by Python connectors to common database systems.

Key Features

  • WHL installation packages that enable installation with "pip install".
  • Supported for Python 3.10 or newer on Windows, Linux, and macOS.
  • Write and execute SQL queries to fetch and update data in Pipedrive.
  • Custom dialect class that enables SQLAlchemy 1.3 and 1.4 to use this connector.

Getting Started

See Getting Started to install the connector to your Python distribution and to create a basic connection to Pipedrive.

Using the Python Connector/Using from Tools

See Using the Connector for examples of executing basic SELECT, INSERT, UPDATE, DELETE, and EXECUTE queries with the module's provided classes.

See Using from Tools to connect Pipedrive data to tools such as Pandas or Petl.

SQLAlchemy ORM

SQLAlchemy can be leveraged to model the tables in Pipedrive with mapped classes. See From SQLAlchemy for instructions for configuring the Python connector with SQLAlchemy.

Pandas

Pandas' DataFrames can be used alongside the connector to generate analytical graphics. See From Pandas for a guide.

Schema Discovery

See Schema Discovery to query the provided system tables, which allows users to discover the available tables, views, and stored procedure, alongside additional information about their columns or parameters.

Advanced Features

Advanced Features details additional features supported by the connector, such as defining user defined views, ssl configuration, remoting, caching, firewall/proxy settings, and advanced logging.

SQL Compliance

See SQL Compliance for a syntax reference and code examples outlining the supported SQL.

Data Model

See Data Model for the available database objects. This section also provides more detailed information on querying specific Pipedrive entities.

Connection String Options

The Connection properties describe the various options that can be used to establish a connection.

CData Python Connector for Pipedrive

Getting Started

Connecting to Pipedrive

For information on the available WHL files for supported environments, and how to install the appropriate file for your Python distribution, see Package Installation.

For information on the module to import, and how to configure the necessary connection properties in a connection string, see Establishing a Connection.

Other available connection properties can be used to configure other aspects of the connector capabilities.

Python Version Support

The CData Python Connector for Pipedrive can be installed and used in Python 3.10 or newer.

Pipedrive Version Support

The connector leverages the Pipedrive API to enable bidirectional access to Pipedrive.

See Also

  • Using the Connector: Establish connections and query Pipedrive through Python code.
  • From SQLAlchemy: Use SQLAlchemy to establish a connection with dialect URL, and interact with Pipedrive data using mapped classes and Sessions.

CData Python Connector for Pipedrive

Package Installation

Dependencies

The Python connectors require that Python 3.10 or newer be installed.

Installation

The CData Python Connector for Pipedrive is available as a WHL file for Windows, Linux, and Mac. Each connector is built using the Python 3.10 Stable ABI (indicated by the abi3 tag in the filename), so a single wheel supports any Python 3.10 or newer installation — there is no need to match your exact Python minor version. Use the "pip install" command with the appropriate WHL file for your platform.

Windows:

pip install cdata_pipedrive_connector-26.0.9655-cp310-abi3-win_amd64.whl

Linux:

pip install cdata_pipedrive_connector-26.0.9655-cp310-abi3-linux_x86_64.whl

macOS:

pip install cdata_pipedrive_connector-26.0.9655-cp310-abi3-macosx_12_0_arm64.whl

The macOS wheel supports arm64 (Apple Silicon) architectures only on macOS 12 and newer.

Regardless of the environment, certain distributions might require that the "pip3 install" command be used instead, to differentiate from a Python 2 distribution that might exist already. After installation, confirm whether the connector is successfully installed by running the "pip list" command. If "cdata_pipedrive_connector" is present in the list output by the command, then the installation was successful.

Upgrading

When upgrading, "pip install" does not automatically clean up old JRE files. To avoid leftover files that could cause JVM errors, uninstall the previous version before installing the new one.

Licensing

After the installation is complete, a separate step is needed to activate a license for the connector. Among the CData assets in the distribution's site packages, there is an install-license tool that activates this license. From within the distribution's site-packages folder, after navigating to the "cdata/installlic_pipedrive" folder, simply use a command like the below to activate the license. Omitting the <key> argument activates a trial license:

  • Windows:
    ./install-license.exe <key>
  • Linux / Mac:
    ./install-license.sh <key>

Sometimes, file access issues may cause pip to install the connector in a fallback file path that is not the python distribution's main or primary site-packages location. This can make it difficult to find where the connector was installed, and from there, the license activator. In that event, this python script below will print out the full file path of the connector's native file. This file will be stored in the mentioned cdata folder, from which the installlic_pipedrive folder is trivial to find:

import os
import cdata.pipedrive
path = os.path.abspath(cdata.pipedrive.__file__)
print(path)

Uninstallation

If the connector needs to be uninstalled for any reason, do so by running the pip uninstall command, as in the example below:

pip uninstall cdata-pipedrive-connector

CData Python Connector for Pipedrive

Establishing a Connection

The objects available within our connector are accessible from the "cdata.pipedrive" module. To use the module's objects directly:

  1. Import the module as follows:
    import cdata.pipedrive as mod
  2. To establish a connection string, call the connect() method from the connector object using an appropriate connection string, such as:
    mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

Connecting to Pipedrive

Pipedrive offers two ways to connect and authenticate: Basic and OAuth.

Basic Authentication

To authenticate via Basic authentication:

  1. Obtain an API Token:
    1. Open the Pipedrive portal.
    2. At the top right corner of the page, click the account name. Pipedrive displays a drop-down list.
    3. Navigate to Company Settings > Personal Preferences > API > Generate Token.
    4. Record the value of the generated API token. Also, note the CompanyDomain,which is visible in the PipeDrive HomePage URL. (This is the company's developer sandbox URL.)
  2. Set these connection properties:

  3. Log in with the approved user name and password.

The API Token is stored in the Pipedrive portal. To retrieve it, click the company name, then use the drop-down list to navigate to Company Settings > Personal Preferences > API.

OAuth Authentication

If you do not have access to the user name and password or do not want to require them, use the OAuth user consent flow. To enable this authentication from all OAuth flows, you must set AuthScheme to OAuth and create a custom OAuth application.

The following subsections describe how to authenticate to Pipedrive from three common authentication flows. For information about how to create a custom OAuth application, see Creating a Custom OAuth Application. For a complete list of connection string properties available in Pipedrive, see Connection.

Desktop Applications

To authenticate with the credentials for a custom OAuth application, you must get and refresh the OAuth access token. After you do that, you are ready to connect.

Get and refresh the OAuth access token:

  • InitiateOAuth: GETANDREFRESH. Used to automatically get and refresh the OAuthAccessToken.
  • OAuthClientId: The client Id assigned when you registered your custom OAuth application.
  • OAuthClientSecret: The client secret that was assigned when you registered your custom OAuth application.
  • CallbackURL: The redirect URI that was defined when you registered your custom OAuth application.

When you connect, the connector opens Pipedrive's OAuth endpoint in your default browser. Log in and grant permissions to the application.

After you grant permissions to the application, the connector completes the OAuth process:

  1. The connector obtains an access token from Pipedrive and uses it to request data.
  2. The OAuth values are saved in the path specified in OAuthSettingsLocation. These values persist across connections.

When the access token expires, the connector refreshes it automatically.

Web Applications

Authenticating via the Web requires you to create and register a custom OAuth application with Pipedrive, as described in Creating a Custom OAuth Application. You can then use the connector to get and manage the OAuth token values.

This section describes how to get the OAuth access token, how to have the driver refresh the OAuth access token automatically, and how to refresh the OAuth access token manually.

Get the OAuth access token:

  1. To obtain the OAuthAccessToken, set these connection properties :
    • OAuthClientId: The client Id in your custom OAuth application settings.
    • OAuthClientSecret: The client secret in your custom OAuth application settings.

  2. Call stored procedures to complete the OAuth exchange:
    • Call the GetOAuthAuthorizationURL stored procedure. Set the AuthMode input to WEB and the CallbackURL to the Redirect URI you specified in your custom OAuth application settings. The stored procedure returns the URL to the OAuth endpoint.
    • Navigate to the URL that the stored procedure returned in Step 1. Log in and authorize the web application. You are redirected back to the callback URL.
    • Call the GetOAuthAccessToken stored procedure. Set the AuthMode input to WEB. Set the Verifier input to the code parameter in the query string of the redirect URI.

After you obtain the access and refresh tokens, you can connect to data and refresh the OAuth access token automatically.

Automatic refresh of the OAuth access token:

To have the connector automatically refresh the OAuth access token:

  1. Before connecting to data for the first time, set these connection parameters:
  2. On subsequent data connections, set:

Manual refresh of the OAuth access token:

The only value needed to manually refresh the OAuth access token is the OAuth refresh token.

  1. To manually refresh the OAuthAccessToken after the ExpiresIn period (returned by GetOAuthAccessToken) has elapsed, call the RefreshOAuthAccessToken stored procedure.
  2. Set these connection properties:

    • OAuthClientId: The Client Id in your custom OAuth application settings.
    • OAuthClientSecret: The Client Secret in your custom OAuth application settings.

  3. Call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken.
  4. After the new tokens have been retrieved, set the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken. This opens a new connection.

Store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.

Headless Machines

If you need to log in to a resource that resides on a headless machine, you must authenticate on another device that has an internet browser. You can do this in either of the following ways:

  • Option 1: Obtain the OAuthVerifier value.
  • Option 2: Install the connector on a machine with an internet browser and transfer the OAuth authentication values after you authenticate through the usual browser-based flow.

After you execute either Option 1 or Option 2, configure the driver to automatically refresh the access token on the headless machine.

Option 1: Obtaining and Exchanging a Verifier Code

To obtain a verifier code, you must authenticate at the OAuth authorization URL as follows:

  1. Authenticate from the machine with an internet browser, and obtain the OAuthVerifier connection property.

    Set these properties:

  2. Call the GetOAuthAuthorizationURL stored procedure. The stored procedure returns the CallbackURL established when the custom OAuth application was registered. (See Creating a Custom OAuth Application.)

    Copy this URL and paste it into a new browser tab.

  3. Log in and grant permissions to the connector. The OAuth application redirects you the redirect URI, with a parameter called code appended. Note the value of this parameter; you will need it later, to configure the OAuthVerifier connection property.

  4. Exchange the OAuth verifier code for OAuth refresh and access tokens. On the headless machine, to obtain the OAuth authentication values, set these properties:

  5. Test the connection to generate the OAuth settings file.

  6. You are ready to connect after you re-set these properties:

    • InitiateOAuth: REFRESH.
    • OAuthSettingsLocation: The file containing the encrypted OAuth authentication values. To enable the automatic refreshing of the access token, be sure that this file gives read and write permissions to the connector.
    • OAuthClientId: The client Id assigned when you registered your custom OAuth application.
    • OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.

Option 2: Transferring OAuth Settings

Prior to connecting on a headless machine, you must install and create a connection with the driver on a device that supports an internet browser. Set the connection properties as described above in "Desktop Applications".

After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the path specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.

Test the connection to generate the OAuth settings file, then copy the OAuth settings file to your headless machine.

To connect to data via the headless machine, set these connection properties:

  • InitiateOAuth: REFRESH
  • OAuthSettingsLocation: The path to the OAuth settings file you copied from the machine with the browser. To enable automatic refreshing of the access token, ensure that this file gives read and write permissions to the connector.
  • OAuthClientId: The client Id assigned when you registered your custom OAuth application.
  • OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.

CData Python Connector for Pipedrive

Configuring JNI

Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications.

The connector leverages the JNI for improved performance on Mac and Linux.

Configure the Config INI File

The Linux and Mac editions of the Pipedrive python connector are configured with an ini file. This file is used to set several parameters, including JNI behavior. This file is to be located in:

{path_to_distribution_site-packages}/cdata/config.ini

Ensure that any configuration properties you set in the ini file fall under the following section name (adjust the 311 number if you are using an different python version from 3.11):

  • For Linux:
    [pipedrive.cpython-311-x86_64-linux-gnu.so]
  • For Mac:
    [pipedrive.cpython-311-darwin.so]

Configure the JNI connector's behavior by editing the properties in the connector's config.ini file. The connector can be configured as follows:

  • LOGFILE: Set this the same way as the CDATA_LOGFILE envrionment variable below.
  • JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CLASS_PATH: Use a colon-separated list to configure the paths to the third-party jar libraries.

Configure Environment Variables

Additionally, set the following environment variables:

  • CDATA_JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CDATA_JVM_OPTIONS: Place JVM options here.
  • CDATA_LOGFILE: Set this in the following scheme: <SCHEME>://<TAG>[|<LEVEL>]

    • SCHEME: The options are STDOUT, FILE.
      • STDOUT: Both the native wrapper and odbc core log into stdout. The Logfile and Verbosity properties can override the behavior of ODBC core.
      • FILE: The native wrapper logs into <FILENAME> while the odbc core logs into <FILENAME>.driver.log. The Logfile and Verbosity properties can override the behavior of ODBC core.
    • TAG
      • For STDOUT, set this to 1. For FILE, set this to the filename.
    • LEVEL
      • Set to one of: FATAL | ERROR | WARNING | INFO | DEBUG

The following are some examples of this syntax:

  • STDOUT://1|DEBUG
  • FILE:///tmp/my_py.log|DEBUG

Custom Logger

The Python connector supports a custom logging mechanism for redirecting log output to any destination, such as a cloud storage service or logging framework. Use setCustomLoggerFactory() to register a factory function that creates a logger instance for each connection.

The factory function receives the context string from the Logfile connection property (the portion after CUSTOM://) and must return an object with a writeLog(verbosity, message) method.

To enable custom logging:

  1. Call setCustomLoggerFactory() with your factory function before opening connections.
  2. Set Logfile to CUSTOM:// followed by a context string to identify the connection.
  3. Set Verbosity to the desired log level.

The following example demonstrates a custom logger factory that creates a separate logger instance per connection:

import cdata.pipedrive as mod
import time

class MyLogger:
    def __init__(self, loggerId):
        self.loggerId = loggerId
    def writeLog(self, verbosity, message):
        print("[MyLogger " + self.loggerId + "] " + message)

def createLogger(context):
    return MyLogger(context[len("MyLoggerId="):])

mod.setCustomLoggerFactory(createLogger)

conn1 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=1;Verbosity=2;")
# do something with conn1
time.sleep(1)  # Wait for logs to flush from conn1

conn2 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=2;Verbosity=2;")
# do something with conn2
time.sleep(1)  # Wait for logs to flush from conn2

CData Python Connector for Pipedrive

Creating a Custom OAuth Application

Creating a Custom OAuth Application

If you do not have access to the user name and password or do not wish to require them, you can use OAuth authentication. Pipedrive uses the OAuth authentication standard, which requires the authenticating user to interact with Pipedrive via the browser. Authenticating via OAuth requires the use of the OAuth client credentials, client Id, and client secret.

To register a custom OAuth application and obtain the OAuth client credentials, client Id, and client secret:

  1. Log into your Pipedrive account Login Page.
  2. At the drop-down menu, click Tools and integrations. Pipedrive displays the Settings page.
  3. In the menu at left, click Marketplace Manager.
  4. Click Create new app.
  5. Click the yes or no button.
  6. Fill in all requested items.
  7. Enter a value for the application's Redirect URI:

    • If you are making a desktop application, set the Callback URL to http://localhost:33333 or a different port number of your choice.
    • If you are making a web application, set the Callback URL to a page on your Web app that you want the user to be returned to after they have authorized your application.

  8. When you have filled in all required fields, click Save. Pipedrive displays a confirmation screen that shows the data you have just filled in.
  9. Check your entries on the confirmation screen. If everything looks correct, click Add a new.

Enabled applications are displayed in the list and the process completes.

The OAuthClientId and ClientSecret are displayed along with the information you specified when setting up the application. Record the OAuthClientID and ClientSecret for future use.

CData Python Connector for Pipedrive

Changelog

General Changes

DateVersionSourceCategoryTypeDescription
2026-05-2726.0.9643GeneralConnectionRemoved
  • Removed the deprecated ReplaceInvalidTypesWithNull connection property. Use the ReplaceInvalidValuesWithNull property instead.
2026-05-2226.0.9638PythonRemoved
  • Remove support for Intel x64 architecture on macOS
2026-05-0726.0.9623GeneralData ModelAdded
  • Added the ColumnCapabilities column to the sys_tablecolumns system table. This column is a bit mask denoting the column's write capabilities.
2026-05-0726.0.9623PythonChanged
  • Updated embedded JRE to jre-17.0.19+10 (Linux x64 / MacOs x64).
2026-04-2926.0.9615PipedriveData ModelRemoved
  • Removed the following tables and views from the V1 schema:
    • ActivitiesAttendees
    • ActivitiesParticipants
    • DealsActivities
    • DealsActivitiesAttendees
    • DealsActivitiesParticipants
    • DealsPersonEmails
    • DealsPersonPhone
    • DealsPersons
    • DealsPersonsEmail
    • DealsPersonsPhone
    • OrganizationsActivities
    • OrganizationsActivitiesAttendees
    • OrganizationsActivitiesParticipants
    • OrganizationsDeals
    • OrganizationsDealsPersonEmail
    • OrganizationsDealsPersonPhone
    • OrganizationsPersons
    • OrganizationsPersonsEmail
    • OrganizationsPersonsPhone
    • PersonsEmails
    • PersonsPhone
    • PersonsActivities
    • PersonsActivitiesAttendees
    • PersonsActivitiesParticipants
    • PersonsDeals
    • PersonsDealsEmail
    • PersonsDealsPhone
    • PipelineDeals
    • Stages
    • StagesDeals
2026-04-1726.0.9603PipedriveData ModelChanged
  • Renamed the SearchByEmail column to ArchivedStatus in the Leads table.
2026-04-1626.0.9602PipedriveData ModelRemoved
  • Removed the following columns from the ProductsFiles view: ActivityId, Cid, DealId, DealName, LogId, MailMessageId, MailTemplateId, OrgId, OrgName, PeopleName, PersonId, and PersonName.
  • In the ProductsFiles view, removed the IncludeDeletedFiles pseudocolumn.
2026-04-1526.0.9601GeneralQuery ExecChanged
  • String comparisons using GREATER, LESS, and CONTAINS operators are now case-insensitive by default.
2026-04-1526.0.9601PipedriveData ModelChanged
  • Changed the Category column in the Products table from string to integer in both V1 and V2 schemas.
  • Changed the ExpectedCloseDate column in the Leads table from string to date in the V1 schema.
  • Changed the Probability column in the Deals table to integer in both V1 and V2 schemas.
2026-03-1625.0.9571PipedriveData ModelAdded
  • In the Pipedrive schema:
    • Added the ActivityFieldsId column to the ActivityFieldsOptions view and made it a primary key.
    • Added the DealsUpdatesId column to the DealsUpdatesParticipants view and made it a primary key.
2026-03-1625.0.9571PipedriveData ModelChanged
  • Changed the Id column in the DealsParticipants view from server-side to client-side filtering, as it is not supported as a server-side filter.
2026-02-2725.0.9554PipedriveData ModelAdded
  • Added the DealId column to the following tables: DealsMailMessages, DealsMailMessagesBcc, DealsMailMessagesCc, DealsMailMessagesFrom, and DealsMailMessagesTo.
  • In the DealFieldsOptions table, added the DealFieldId column.
  • In the OrganizationFieldsOptions table, added the OrganizationFieldId column.
  • In the PersonFieldsOptions table, added the PersonFieldId column.
  • In the ProductFieldsOptions table, added the ProductFieldId column.
2026-02-2425.0.9551PipedriveAdded
  • Added server-side filtering support for the App column in the PermissionSets view in the Pipedrive schema.
2026-02-2425.0.9551PipedriveRemoved
  • Removed server-side filtering for the Id column in the CurrentUsers view in the Pipedrive schema.
2026-02-2025.0.9547PipedriveAdded
  • Added two new views: DealsArchived (semi-dynamic view) and LeadsArchived.
  • Added two new columns to the Deals table: ArchiveTime and IsArchived.
  • Added one new column to the Leads table: ArchiveTime.
2026-02-1125.0.9538PipedriveAdded
  • Added the CustomFields column to the Deals table in the Pipedrive V2 schema.
2026-02-0425.0.9531PipedriveAdded
  • Pipedrive schema: Added the columns required for an INSERT query to the description of the Goals table.
2026-01-2725.0.9523PipedriveAdded
  • Added three new columns to the Leads table: OriginId, Channel, and ChannelId.
2026-01-2725.0.9523PipedriveChanged
  • Changed the INSERT query example in the ActivityTypes table to:```INSERT INTO ActivityTypes (Color, IconKey, Name) VALUES ('black', 'sound', 'pvnactivity')```
2026-01-2325.0.9519PipedriveAdded
  • Added four new views to the v2 schema: ActivitiesAttendees, ActivitiesParticipants, PersonsEmails, and PersonsPhone.
  • Added the DealId filter to the Persons table in the PipedriveV2 schema as an alternative to the deprecated v1 dealspersons endpoint.
2026-01-1325.0.9509GeneralAdded
  • Added support for the REGEXP_REPLACE() string function.
2025-12-2225.0.9487PipedriveAdded
  • Added the FileName column to the AddPersonPicture stored procedure in the Pipedrive schema.
  • Added validation requiring an input stream and a file name with an extension when a file location is not provided for Pipedrive file uploads.
2025-12-2125.0.9486PythonAdded
  • Added support for custom loggers in Python connectors on Linux and macOS.
2025-12-0525.0.9470GeneralAdded
  • Added support for the INSERT INTO SELECT statement, with driver-side execution for providers that do not support the operation natively.
2025-10-3025.0.9434PythonChanged
  • Updated embedded JRE to jre-17.0.17+10 (Linux x64 / MacOs x64).
2025-10-0625.0.9410GeneralAdded
  • Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
2025-09-1925.0.9393PipedriveAdded
  • Added CRUD operations for DealsDiscounts.
  • Added DealId as primary key in DealsDiscounts.
2025-09-1225.0.9386GeneralAdded
  • Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
2025-09-1025.0.9384GeneralChanged
  • All columns in statically defined Views are now reported as read-only.
2025-09-0925.0.9383PipedriveChanged
  • Changed the datatype of the ID column from int to string in the ProductFieldsOptions view.
2025-09-0425.0.9378PipedriveChangedTo support the update of multiple records when passing IDs as part of the IN clause, we made the following changes:
  • Added DealId as primary key in DealsFollowers, DealsProducts.
  • Added ItemDealId in DealsParticipants.
  • Added OrgId as primary key in OrganizationsFollowers.
  • Added PersonId as primary key in PersonFollowers.
  • Added ProductId as primary key in ProductsFollowers and ProductVariations.
  • Added UUID as primary key in NoteComments.
  • Added SubscriptionType as primary key in Subscriptions.
2025-09-0325.0.9377GeneralChanged
  • Corrected the behavior when IN criteria with NULL values are used in the projection part. It now returns NULL instead of 0. For example, "NULL IN (1,2)" returns "NULL".
2025-09-0125.0.9375GeneralAdded
  • Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
2025-08-2125.0.9364GeneralChanged
  • Report behavior change:
    • Fixed inconsistent string value comparisons in non-table queries.
    • For example, "SELECT 'A' = 'a'" previously returned false, but it now returns true.
2025-08-1325.0.9356GeneralChanged
  • Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
2025-08-0725.0.9350PipedriveAdded
  • Added the GetAddons stored procedure.
  • Added the PermittedUsers and ProjectTemplates views.
  • Added the Activities, DealDiscounts, Organizations, Persons, Pipelines, Products, ProductVariations, and Stages views in the PipedriveV2 schema.
  • Added the Webhooks, Tasks, and Projects views in the Pipedrive schema.
2025-07-1825.0.9330PipedriveChanged
  • Reverted the Pipedrive API to partially use the PipedriveV2 endpoint for the DealsProducts table, which restores previous behavior.
2025-07-1025.0.9322PipedriveRemoved
  • Removed the Scope input parameter from the GetOAuthAuthorizationURL and GetOAuthAccessToken stored procedures in both the Pipedrive and PipedriveV2 schemas.
2025-07-0825.0.9320PipedriveChanged
  • ValuesTotal and WeightedValuesTotal columns in the DealsSummary view are now aggregate columns.
  • TotalValues column in the DealsTimeline view is now an aggregate column.
  • ProductPrices column in the DealsProducts table is now an aggregate column.
  • DealsLeftOpenFormattedValues, DealsLeftOpenValues, LostDealsFormattedValues, LostDealsValues, NewDealsFormattedValues, NewDealsValues, WonDealsFormattedValues, and WonDealsValues columns in the PipelineDealsMovements view are now aggregate columns.
  • UUID column in the NoteComments table is now a key column, and is no longer read-only.
2025-07-0825.0.9320PipedriveRemoved
  • Removed EURCost, EURCurrency, EURId, EUROverheadCost, EURPrice, and EURProductId columns from the DealsProducts table.
  • Removed EURCount, EURValue, EURConverted, EURConvertedFormatted, EURFromatted, USDCount, USDValue, USDConverted, USDConvertedFormatted, USDFromatted, WeightedEURCount, WeightedEURValue, WeightedEURValueFormatted, WeightedUSDCount, WeightedUSD, and WeightedUSDFormatted columns from the DealsSummary view.
  • Removed Count, OpenCount, OpenValuesEUR, ValuesEUR, ValuesUSD, WeightedOpenValuesEUR, WeightedValuesEUR, WeightedValuesUSD, WonCount, and WonValuesUSD columns from DealsTimeline view.
  • Removed Id column from PermissionSetsAssignments view.
  • Removed DealsLeftOpenFormattedValuesUSD, DealsLeftOpenValuesUSD, LostDealsFormattedValuesUSD, LostDealsValuesUSD, NewDealsFormattedValuesUSD, NewDealsValuesUSD, WonDealsFormattedValuesUSD, WonDealsValuesUSD columns from PipelineDealsMovements view.
  • Removed Subscriptions table.
  • Removed SubscriptionPayments view.
  • Removed CancelRecurringSubscription stored procedure.
2025-07-0825.0.9320PipedriveAdded
  • Added PermissionSetId and UserId columns to the PermissionSetAssignments view as key columns.
2025-07-0725.0.9319PythonRemoved
  • Removed the 32-bit version of Windows Python.
2025-07-0225.0.9314PythonRemoved
  • Removed support for Python 3.9.
2025-06-2525.0.9307GeneralRemoved
  • Removed the "ADLS Gen 1" value from the ConnectionType property.
2025-06-2525.0.9307PythonAdded
  • Added support for Python 3.13 in Windows, Linux, and Mac editions.
2025-06-2525.0.9307PythonRemoved
  • Removed support for Python 3.8 as it is no longer supported.
2025-06-2525.0.9307PipedriveChanged
  • The V1 schema has been renamed Pipedrive, and the V2 schema has been renamed PipedriveV2.
2025-06-2025.0.9302GeneralAdded
  • Created the following functions:
    • TEXT_ENCODE: encodes a string into a different charset (UTF8 → UTF7 and returns a binary array as the result).
    • TEXT_DECODE: takes a binary array and decodes it back into a string when provided the charset.
    • BASE64_ENCODE: takes a binary array and encodes it as a base64 string (varchar).
    • BASE64_DECODE: takes a base 64-encoded string and decodes it into a binary array.
2025-06-1825.0.9300GeneralChanged
  • The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
2025-06-0325.0.9285PipedriveChanged
  • Changed the column name CustomField to CustomFields in the Deals, Organizations, Persons, and Products tables.
2025-05-2725.0.9278GeneralRemoved
  • Removed the "Proprietary" enum option from ProxyAuthscheme.
2025-05-1225.0.9263PythonChanged
  • Updated embedded JRE to jre-17.0.15+6 (Linux x64 / MacOS x64) and jre-17.0.15+6 (MacOS aarch64).
2025-02-1524.0.9177GeneralAdded
  • Added support for converting unsigned integer types to the nearest signed data type that has enough precision to hold the unsigned value.This is done for JDBC only because it does not have support for unsigned data types.
2024-11-2724.0.9097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
2024-06-2424.0.8941PipedriveRemoved
  • Removed two columns from the DealsProducts table: DiscountPercentage and SumNoDiscount.
2024-06-2424.0.8941PipedriveAdded
  • Added three columns to the DealsProducts table: Discount, DiscountType, and TaxMethod.
  • Added one pseudo column to the CallLogs table: LeadId.
  • Added 45 missing columns to the UsersPermissions view.
2024-06-0524.0.8922PythonAdded
  • Added support for Python 3.12.
2024-05-0924.0.8895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
2024-03-1523.0.8840GeneralAdded
  • Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
2023-11-2923.0.8733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.
2023-11-2923.0.8733GeneralChanged
  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
2023-11-2823.0.8732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
2023-08-2923.0.8641PythonAdded
  • Added support for SQLAlchemy 2.0.
2023-06-2023.0.8571GeneralAdded
  • Added the new sys_lastresultinfo system table.
2023-05-2323.0.8543PipedriveAdded
  • Added the WonTime, PersonName and OrgName columns in the Deals table.
  • Added LeadId and LeadName columns in the DealsFiles, DealsUpdatesAttachments, OrganizationsFiles and PersonsFiles views.
  • Added LeadId and LeadName columns in the Files table.
  • Added Id column as a primary key in DealsUpdatesCc view.
  • Added OwnerName column in the Organizations table.
  • Added PersonOrgName and PersonOwnerName columns in the DealsParticipants table.
  • Added FirstChar, MarketingStatus, OrgName and OwnerName columns in the DealsPersons view.
  • Added OrgName and PersonName columns in the OrganizationsDeals view.
  • Added FirstName, FollowersCount, PrimaryEmail, FirstChar, MarketingStatus, OrgName and OwnerName columns in the OrganizationsPersons view.
  • Added Description and App columns in the PermissionSets view.
  • Added PrimaryEmail, MarketingStatus, OrgName and OwnerName columns in the Persons table.
  • Added PersonName and OrgName columns in the PersonsDeals view.
  • Added DealId column in the PersonFollowers table.
  • Added PersonName, OrgIdName, OrgIdPeopleCount, OrgIdOwnerId, OrgIdAddress, OrgIdActiveFlag, OrgIdCcEmail and OrgIdValue columns in the ProductsDeals view.
  • Added DataFileId, DataFileCleanName and DataFileUrl columns in the Recents view.
  • Added Access aggregate column in the Users table.
  • Added MailThreads and NoteComments tables.
  • Added CurrentUsers, DealsParticipantsEmail, DealsParticipantsPersonEmail, DealsParticipantsPersonPhone, DealsParticipantsPhone, DealsPersonsEmail, DealsPersonsPhone, FindUsersByName, MailMessages, MailThreadMessages, MailThreadMessagesFrom, MailThreadMessagesTo, MailThreadsFrom, MailThreadsTo, NoteFieldsOptions, OrganizationFieldsOptions, OrganizationsActivitiesAttendees, OrganizationsActivitiesParticipants, OrganizationsPersonsEmail, OrganizationsPersonsPhone, PersonFieldsOptions, PersonsDealsEmail, PersonsDealsPhone, PipelineDealsMovementsAverageAgeInDaysByStages,ProductFieldsOptions,RecentsAttendees, RecentsParticipants, RolesPipelinesVisibility, StagesDeals, SubscriptionPayments, UsersAccess, UsersFollowers, UsersPermissions, UsersRoleAssignments, UsersRoleSettings views.
  • Added AddChannel, DeleteChannel and CancelRecurringSubscription Stored Procedures.
2023-05-2323.0.8543PipedriveChanged
  • Changed the datatype of the Note column from html to String in the Activities table.
  • Changed the column name from Id to ActivitiesId in the ActivitiesAttendees and ActivitiesParticipants views.
  • Changed the column name from Id to DealsId in the DealsPersonEmails and DealsPersonPhone views.
  • Changed the column name from Id to OrgId in the OrganizationsDealsPersonEmail and OrganizationsDealsPersonphone views.
  • Changed the column name from Id to PersonId in the PersonsEmails and PersonsPhone views.
  • Changed the column name from Id to PipelineId in the PipelineDealsConversionRates, PipelineDealsStageConversions and PipelineDealsMovements views.
  • Changed the column name from Id to ProductId in the ProductsDealsPersonPhone and ProductsDealsPersonEmail views.
  • Changed the column name from Id to RoleId in the RoleSetting table.
  • Changed the OrgId column to mirror column in the OrganizationsPermittedUsers view.
  • Changed the PersonId column to mirror column in the PersonFollowers table.
  • Changed the Id column to primary key in the NoteFields, PermissionSets and DealFieldsOptions views.
  • Changed the Id column to primary key in the Products table.
2023-05-2323.0.8543PipedriveRemoved
  • Removed the Teams, TeamsUsers, UserTeams and RolesSubRoles tables and views as these are deprecated.
  • Removed the IncludeDeletedFiles pseudo column from DealsFiles, OrganizationsFiles and PersonsFiles view.
  • Removed the PersonId column from DealsFollowers table.
  • Removed the Id and AddTime columns from OrganizationsPermittedUsers view.
  • Removed the OldId column from the PermissionSets view.
  • Removed the DataFile column from the Recents view.
  • Removed the Id column from the RolesAssignments table.
  • Removed the DealAccessLevel, OrgAccessLevel, PersonAccessLevel and ProductAccessLevel columns from the RolesSetting table.
2023-05-1923.0.8539PythonAdded
  • Added support for Python 3.11 on Windows, Linux and Mac.
2023-05-1623.0.8536PythonRemoved
  • Removed support for Python 3.7 on Windows and Linux
2023-04-2523.0.8515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
2022-12-2222.0.8391PipedriveRemoved
  • Removed keys from PersonsEmails and PersonsPhone view as it is not unique.
2022-12-1422.0.8383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
2022-11-1722.0.8356PipedriveAdded
  • Added the ActivityTypeId column in the Goals table in the Pipedrive schema.
2022-11-1722.0.8356PipedriveChanged
  • Changed the datatype of PipelineId column from Integer to string in the Goals table in the Pipedrive schema.
2022-11-1722.0.8356PipedriveRemoved
  • Removed the FollowersCount column from products table and DealsProducts.
  • Removed the SignUpFlowVariation from users table.
  • Removed the GlobalMessages table as it is deprecated.
2022-11-1522.0.8354PythonChanged
  • Updated embedded JRE to jre8u345-b01(Linux x64 / MacOS x64) and jre-17.0.5+8(MacOS aarch64).
2022-10-1122.0.8319PipedriveAdded
  • Added the FileName input parameter in the AddAudioFile and AddFile stored procedures.
2022-09-3022.0.8308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
2022-09-2122.0.8299PipedriveChanged
  • Added the Content as input parameter to support input streams on the AddAudioFile, AddFile, AddPersonPicture stored procedure.
  • Added FileStream as input parameter to support output streams on the DownloadFile stored procedure.
  • Added the FileData output parameter and Encoding input parameter to print the response in the DownloadFile stored procedure.
2022-05-2422.0.8179PipedriveChanged
  • Changed provider name to Pipedrive.
2022-05-1822.0.8173PythonAdded
  • Added support for Python 3.10 on Windows, Linux, and Mac
  • Added support for Python 3.9 on Mac
  • Added support for Mac M1
2022-05-1822.0.8173PythonRemoved
  • Removed support for Python 3.6 on Windows and Linux
2021-09-0221.0.7915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
2021-08-0721.0.7889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
2021-08-0621.0.7888GeneralChanged
  • Added the new sys_primarykeys system table.
2021-07-2321.0.7874GeneralChanged
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
2021-04-2521.0.7785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
2021-04-2321.0.7783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
2021-04-1621.0.7776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
2021-04-1621.0.7776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.
2021-04-1621.0.7776GeneralChanged
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
2021-04-1621.0.7776GeneralChanged
  • Updated index naming convention to avoid duplicates.

CData Python Connector for Pipedrive

Using the Connector

This section provides a walk-through for writing Pipedrive data access code in Python script.

For more information on the available data source entities and how to query them with SQL, see Data Model. For the SQL syntax, see SQL Compliance.

Connecting from Code

For information on how to deploy the connector and configure the connection to Pipedrive, see Package Installation and Establishing a Connection.

For information on how to connect with the pipedrive.connector module and its related classes, see Connecting.

Executing SQL

The connection's cursor object is used to directly execute SQL queries. For information on how to execute SELECT statements and process the returned result sets, see Querying Data. For information on to modify the data in Pipedrive with INSERT, UPDATE, and DELETE statements, see Modifying Data .

Executing Stored Procedures

You can call stored procedures by using the EXECUTE statement. For further information, see Calling Stored Procedures.

Batch Processing

For information about how to modify several rows of Pipedrive data at once using parameterized INSERT, UPDATE, and DELETE statements, see Batch Processing.

CData Python Connector for Pipedrive

Connecting

Connecting with the cdata.pipedrive Module:

The connector's module is used directly to establish a connection with the data source. It does this by using a connection string as its argument. For example:
import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

Once the connection is created, you can use it to execute subsequent SQL queries.

CData Python Connector for Pipedrive

Querying Data

After connecting as described in Connecting, you can use the open connection to execute SQL statements.

Executing Queries

To execute SQL statements that return data, use the execute() method. Once a query is executed, the result set is fetched from the cursor. This result set can then be iterated over to process the records individually.

For example:

cur = conn.execute("SELECT Id, UserEmail FROM Deals")
rs = cur.fetchall()
for row in rs:
	print(row)

Parameterized Queries

Various Python collections, such as arrays and tuples, can act as additional arguments for the execute() method. This enables you to parameterize the queries executed and help to prevent SQL Injection.

For example:

cmd = "SELECT Id, UserEmail FROM Deals WHERE UserName = ?"
params = ["Bob"]
cur = conn.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Pipedrive

Modifying Data

The connection is also used to issue INSERT, UPDATE, and DELETE commands to the data source. Parameters can be used with these statements if desired.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Insert

The following example adds a new record to the table:
cmd = "INSERT INTO Deals (Id, UserEmail) VALUES (?, ?)"
params = ["Jon Doe", "John"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Update

The following example modifies an existing record in the table:
cmd = "UPDATE Deals SET UserEmail = ? WHERE Id = ?"
params = ["John", "6"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Delete

The following example removes an existing record from the table:

cmd = "DELETE FROM Deals WHERE Id = ?"
params = ["6"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for Pipedrive

Calling Stored Procedures

You can execute stored procedures using either the execute() or callproc() method of the connection.

Calling Stored Procedures Using Execute()

When you call stored procedures by issuing EXECUTE commands, the stored procedure arguments are parameterized. For example:
cmd = "EXECUTE AddFile DealId = ?"
params = ["7"]
conn.execute(cmd, params)

Calling Stored Procedures Using Callproc()

When you call stored procedured by issuing the callproc() method, the stored procedure arguments are a procedure name and a list of parameters. For example:
cur = conn.cursor()
params = ["7"]
cur.callproc("AddFile", params)

CData Python Connector for Pipedrive

Batch Processing

This Python connector also supports writing to the data source via batch processing, using the cursor object's executemany() method. This requires both a SQL statement string and a data frame of values that act as a series of parameters for executing the SQL statement.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Delete

The following example removes existing records from the table:
cur = conn.cursor()
cmd = "DELETE FROM Deals WHERE Id = ?"
params = [["6"], ["6"]]
cur.executemany(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for Pipedrive

Using from Tools

The connector is integrated with other tools and packages within Python.

Python Integration Guides

The following sections show how to create and use connections with the connector in common packages in Python:

Complete List of Pipedrive Integration Quickstarts

For information on connecting from other applications, see Pipedrive integration guides.

CData Python Connector for Pipedrive

From SQLAlchemy

The CData Python Connector for Pipedrive includes a Dialect class that enables integration with SQLAlchemy. Bear in mind that several aspects of connector functionality are not currently supported in SQLAlchemy 2.0 or above. If necessary, downgrade SQLAlchemy to version 1.4 or 1.3 before using this connector.

The following sections detail various aspects of this integration:

Connecting From SQLAlchemy

To construct a URL with which SQLAlchemy loads and uses the appropriate connector automatically, see Connecting

Reflecting Metadata With SQLAlchemy

To learn how to model Pipedrive tables with mapped classes, see Reflecting Metadata.

Querying Data From SQLAlchemy

To learn how to use mapped classes to query the associated tables, see Querying Data.

Modifying Data From SQLAlchemy

The connector provides INSERT/UPDATE/DELETE functionality in SQLAlchemy. To learn how to call the session's execute() method to affect the data in the data source, see Modifying Data.

CData Python Connector for Pipedrive

Connecting

Connecting With a Dialect URL

Establishing a connection using SQLAlchemy requires a specific URL format.
from sqlalchemy import create_engine
engine = create_engine("pipedrive:///?AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

For SQLAlchemy 2.0, the dialect name is pipedrive_2. To establish a connection, use the following URL format:

from sqlalchemy import create_engine
engine = create_engine("pipedrive_2:///?AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

CData Python Connector for Pipedrive

Reflecting Metadata

SQLAlchemy can act as an Object-relational Map (ORM). This enables you to treat records of a database table as instantiable records. To leverage this functionality, you must reflect the underlying metadata in one of the following ways.

Note: The following examples employ SQLAlchemy 1.4.

Modeling Data Using a Mapping Class

Use "sqlalchemy.ext.declarative.declarative_base" to declare a mapping class for the table you wish to model in the ORM. A known table in the data model is modeled either partially or completely, as shown in the following example:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Deals(Base):
	__tablename__ = "Deals"
	Id = Column(String, primary_key=True)
	Id = Column(String)
	UserEmail = Column(String)

Automatically Reflecting Metadata

Rather than mapping tables manually, SQLAlchemy can discover the metadata for one or more tables automatically. To accomplish this across the entire data model, use automap_base:
from sqlalchemy import MetaData
from sqlalchemy.ext.automap import automap_base
meta = MetaData()
abase = automap_base(metadata=meta)
abase.prepare(autoload_with=engine)
Deals = abase.classes.Deals

You can also reflect a single table with an inspector. When reflecting this way, providing a list of specific columns to map is optional:

from sqlalchemy import MetaData, Table
from sqlalchemy import inspect
meta = MetaData()
insp = inspect(engine)
Deals_table = Table("Deals", meta)
insp.reflect_table(Deals_table, ["Id","UserEmail"])

CData Python Connector for Pipedrive

Querying Data

After you use the steps in Connecting to connect, and use one of the methods in Reflecting Metadata to reflect some of the metadata, you can use a session object to query data.

Querying Data Using the Query Method

If the mapping class has been prepared, use it with a session object to query the data source. After binding the engine to the session, provide the mapping class to the session's query method.

For example:

engine = create_engine("pipedrive:///?AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(Deals).filter_by(UserName="Bob"):
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("UserEmail: ", instance.UserEmail)
	print("---------")

Querying Data Using the Execute Method

The session object can also run the query with the execute() method alongside the appropriate Table object. Assuming you have an active session, the following is just as viable:
Deals_table = Deals.metadata.tables["Deals"]
for instance in session.execute(Deals_table.select().where(Deals_table.c.UserName == "Bob")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

CData Python Connector for Pipedrive

Executing JOINs

Implicit Joining

If mapped classes of related Pipedrive objects have a singular foreign key relationship, the classes are implicitly joined. After importing the necessary objects, a relationship is established between your two mapped classes, as in the example below:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer, DateTime, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship

Base = declarative_base()
class Contact(Base):
	__tablename__ = "Contact"
	Id = Column(Integer, primary_key=True)
	Name = Column(String)
	Email = Column(String)
	BirthDate = Column(DateTime)
	AccountId = Column(String, ForeignKey("Account.Id"))
	Account_Link = relationship("Account", back_populates="Contact_Link")

class Account(Base):
	__tablename__ = "Account"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	BillingCity = Column(String)
	NumberOfEmployees = Column(Integer)
	Contact_Link = relationship("Contact", order_by=Contact.Id, back_populates="Account_Link")

Once the relationship is established, the tables are queried simultaneously using the session's query() method. For example:

rs = session.query(Account, Contact).filter(Account.Id == Contact.AccountId)
for Ac, Ct in rs:
  print("AccountId: ", Ac.Id)
  print("AccountName: ", Ac.Name)
  print("ContactId: ", Ct.Id)
  print("ContactName: ", Ct.Name)

Other Join Forms

In situations where mapped classes have either no foreign keys or multiple foreign keys, you may need different forms of the JOIN query to accommodate them. Using the earlier classes as examples, the following JOIN queries are possible as well:
  • Explicit condition (necessary if there are no foreign keys in your mapped classes):
    rs = session.query(Account, Contact).join(Contact, Account.Id == Contact.AccountId)
    for Ac, Ct in rs:
  • Left-to-right relationship:
    rs = session.query(Account, Contact).join(Account.Contact_Link)
    for Ac, Ct in rs:
  • Left-to-right relationship with explicit target:
    rs = session.query(Account, Contact).join(Contact, Account.Contact_Link)
    for Ac, Ct in rs:
  • String form of a left-to-right relationship:
    rs = session.query(Account, Contact).join("Contact_Link")
    for Ac, Ct in rs:

CData Python Connector for Pipedrive

Other SQL Clauses

SQLAlchemy ORM also exposes support for other clauses in SQL, such as ORDER BY, GROUP BY, LIMIT, and OFFSET. All of these are supported by this connector:

ORDER BY

The following example sorts by a specified column using the session object's query() method:
rs = session.query(Deals).order_by(Deals.AnnualRevenue)
for instance in rs:
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("UserEmail: ", instance.UserEmail)
	print("---------")

You can also use the session object's execute() method perform an ORDER BY. For example:

rs = session.execute(Deals_table.select().order_by(Deals_table.c.AnnualRevenue))
for instance in rs:

GROUP BY

The following example uses the session object's query() method to group records with a specified column:
rs = session.query(func.count(Deals.Id).label("CustomCount"), Deals.Id).group_by(Deals.Id)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to perform a GROUP BY:

rs = session.execute(Deals_table.select().with_only_columns([func.count(Deals_table.c.Id).label("CustomCount"), Deals_table.c.Id]).group_by(Deals_table.c.Id))
for instance in rs:

LIMIT and OFFSET

The following example uses the session object's query() method to skip the first 100 records and fetch the following 25:
rs = session.query(Deals).limit(25).offset(100)
for instance in rs:
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("UserEmail: ", instance.UserEmail)
	print("---------")

You can also use the session object's execute() method to set a LIMIT or OFFSET:

rs = session.execute(Deals_table.select().limit(25).offset(100))
for instance in rs:

CData Python Connector for Pipedrive

Aggregate Functions

Certain aggregate functions can also be used within SQLAlchemy by using the func module.

To import this module, execute:

from sqlalchemy.sql import func

Once func is imported, the following aggregate functions are available:

COUNT

The following example counts the number of records in a set of groups using the session object's query() method.
rs = session.query(func.count(Deals.Id).label("CustomCount"), Deals.Id).group_by(Deals.Id)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Id: ", instance.Id)
	print("---------")

You can also execute COUNT using the session object's execute() method:

rs = session.execute(Deals_table.select().with_only_columns([func.count(Deals_table.c.Id).label("CustomCount"), Deals_table.c.Id])group_by(Deals_table.c.Id))
for instance in rs:

SUM

This example calculates the cumulative amount of a numeric column in a set of groups.

rs = session.query(func.sum(Deals.AnnualRevenue).label("CustomSum"), Deals.Id).group_by(Deals.Id)
for instance in rs:
	print("Sum: ", instance.CustomSum)
	print("Id: ", instance.Id)
	print("---------")

You can also invoke SUM using the session object's execute() method.

rs = session.execute(Deals_table.select().with_only_columns([func.sum(Deals_table.c.AnnualRevenue).label("CustomSum"), Deals_table.c.Id]).group_by(Deals_table.c.Id))
for instance in rs:

AVG

This example uses the session object's query() method to calculate the average amount of a numeric column in a set of groups:
rs = session.query(func.avg(Deals.AnnualRevenue).label("CustomAvg"), Deals.Id).group_by(Deals.Id)
for instance in rs:
	print("Avg: ", instance.CustomAvg)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to invoke AVG:

rs = session.execute(Deals_table.select().with_only_columns([func.avg(Deals_table.c.AnnualRevenue).label("CustomAvg"), Deals_table.c.Id]).group_by(Deals_table.c.Id))
for instance in rs:

MAX and MIN

This example finds the maximum value and minimum value of a numeric column in a set of groups.
rs = session.query(func.max(Deals.AnnualRevenue).label("CustomMax"), func.min(Deals.AnnualRevenue).label("CustomMin"), Deals.Id).group_by(Deals.Id)
for instance in rs:
	print("Max: ", instance.CustomMax)
	print("Min: ", instance.CustomMin)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to invoke MAX and MIN:

rs = session.execute(Deals_table.select().with_only_columns([func.max(Deals_table.c.AnnualRevenue).label("CustomMax"), func.min(Deals_table.c.AnnualRevenue).label("CustomMin"), Deals_table.c.Id]).group_by(Deals_table.c.Id))
for instance in rs:

CData Python Connector for Pipedrive

Modifying Data

Commands can be executed individually by the session with a call to "execute()".

Obtaining the Table Object

The query supplied to this method is constructed using the associated Table object of a mapped class. This Table object is obtained from the mapped class's metadata field, as below:

Deals_table = Deals.metadata.tables["Deals"]

Once the table object is obtained, the write operations are executed in the following ways. The queries are executed immediately without the need for a call to "commit()":

Insert

The following example adds a new record to the table:

session.execute(Deals_table.insert(), {"Id": "Jon Doe", "UserEmail": "John"})

Update

The following example modifies an existing record in the table:

session.execute(Deals_table.update().where(Deals_table.c.Id == "6").values(Id="Jon Doe", UserEmail="John"))

Delete

The following example removes an existing record from the table:

session.execute(Deals_table.delete().where(Deals_table.c.Id == "6"))

CData Python Connector for Pipedrive

From Pandas

When combined with the connector, Pandas can be used to generate data frames that contain your Pipedrive data. Once created, a data frame can be passed to various other Python packages.

Connecting

Pandas relies on an SQLAlchemy engine to execute queries. Before you can use Pandas you must import it:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("pipedrive:///?AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

Querying Data

In Pandas, SELECT queries are provided in a call to the read_sql() method, alongside a relevant connection object. Pandas executes the query on that connection, and returns the results in the form of a data frame, which can be used for a variety of purposes.
df = pd.read_sql("""
	SELECT
	   Id,
	   UserEmail,
     $exNumericCol;
	FROM Deals;""", engine)
print(df)

Modifying Data

To insert new records into a table, create a new data frame, and define its fields accordingly. When that is done, call to_sql() on the data frame to perform the INSERT operation with the connector, as shown in the example below. You must set the "if _exists" argument to "append" to prevent Pandas from attempting building the table from scratch. To prevent Pandas from writing the data frame index as a column, set index=False.
df = pd.DataFrame({"Id": ["Jon Doe"], "UserEmail": ["John"]})
df.to_sql("Deals", con=engine, if_exists="append", index=False)

CData Python Connector for Pipedrive

From Matplotlib

Matplotlib contains a number of tools that can graphically model Pipedrive data after being fed a data frame From Pandas.

Using PyPlot

Before any Matplotlib tool, such as pyplot, can be used, it must be imported:
from matplotlib import pyplot as plt

Once a Pandas data frame is obtained, it can be used to create a plot visualizing Pipedrive data. For example, the following plot generates and displays a bar graph relating Id and AnnualRevenue values:

df.plot(kind="bar", x="Id", y=["AnnualRevenue"])
plt.show()

CData Python Connector for Pipedrive

From Petl

The connector can be used to create ETL applications and pipelines for CSV data in Python using Petl.

Install Required Modules

Install the Petl modules using the pip utility.
pip install petl

Connecting

After you import the modules, including the CData Python Connector for Pipedrive, you can use the connector's connect function to create a connection using a valid Pipedrive connection string. If you prefer not to use a direct connection, you can use a SQLAlchemy engine.
import petl as etl
import cdata.pipedrive as mod
cnxn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")

Extract, Transform, and Load the Pipedrive Data

Create a SQL query string and store the query results in a DataFrame.
sql = "SELECT	Id, UserEmail FROM Deals "
table1 = etl.fromdb(cnxn,sql)

Loading Data

With the query results stored in a DataFrame, you can load your data into any supported Petl destination. The following example loads the data into a CSV file.
etl.tocsv(table1,'output.csv')

Modifying Data

Insert new rows into Pipedrive tables using Petl's appenddb function.
table1 = [['Id','UserEmail'],['Jon Doe','John']]
etl.appenddb(table1,cnxn,'Deals')

CData Python Connector for Pipedrive

Schema Discovery

The extension supports schema discovery by using SQL queries to available System Tables.

Using SQL

The following sections describe the discovery of metadata through several System Tables:

CData Python Connector for Pipedrive

Tables and Views

The connector possesses system tables that are used to discover the tables and views available in the data model. Of these system tables, "sys_tables" and "sys_views" are used to fetch information about the available tables and views respectively:

Tables


import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tables"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Views


import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_views"
cur.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Pipedrive

Columns

The available columns for any given table are fetched from a system table called "sys_tablecolumns". A specific table name is provided in the WHERE criteria to restrict the table from which the column information is fetched:

import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tablecolumns WHERE TableName = 'Deals'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Pipedrive

Procedures

Procedures

A system table called "sys_procedures" is queried to obtain the available stored procedures that are executed:
import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedures"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Parameters

The input parameters of any stored procedure are similarly obtained from the "sys_procedureparameters" system table:
import cdata.pipedrive as mod
conn = mod.connect("AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'AddFile'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for Pipedrive

SQL Compliance

The CData Python Connector for Pipedrive supports several operations on data, including querying, deleting, modifying, and inserting.

SELECT Statements

See SELECT Statements for a syntax reference and examples.

See Data Model for information on the capabilities of the Pipedrive API.

INSERT Statements

See INSERT Statements for a syntax reference and examples.

UPDATE Statements

The primary key Id is required to update a record. See UPDATE Statements for a syntax reference and examples.

DELETE Statements

The primary key Id is required to delete a record. See DELETE Statements for a syntax reference and examples.

CACHE Statements

CACHE statements allow granular control over the connector's caching functionality. For a syntax reference and examples, see CACHE Statements.

For more information on the caching feature, see Caching Data.

EXECUTE Statements

Use EXECUTE or EXEC statements to execute stored procedures. See EXECUTE Statements for a syntax reference and examples.

Names and Quoting

  • Table and column names are considered identifier names; as such, they are restricted to the following characters: [A-Z, a-z, 0-9, _:@].
  • To use a table or column name with characters not listed above, the name must be quoted using square brackets ([name]) in any SQL statement.
  • Parameter names can optionally start with the @ symbol (e.g., @p1 or @CustomerName) and cannot be quoted.
  • Strings must be quoted using single quotes (e.g., 'John Doe').

CData Python Connector for Pipedrive

SQL Functions

The connector provides functions that are similar to those that are available with most standard databases. These functions are implemented in the CData provider engine and thus are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.

The connector interprets all SQL function inputs as either strings or column identifiers, so you need to escape all literals as strings, with single quotes. For example, contrast the SQL Server syntax and connector syntax for the DATENAME function:

  • SQL Server:
    SELECT DATENAME(yy,GETDATE())
  • connector:
    SELECT DATENAME('yy',GETDATE())

String Functions

These functions perform string manipulations and return a string value. See STRING Functions for more details.

Date Functions

These functions perform date and date time manipulations. See DATE Functions for more details.

Math Functions

These functions provide mathematical operations. See MATH Functions for more details.

CData Python Connector for Pipedrive

STRING Functions

ASCII(character_expression)

Returns the ASCII code value of the left-most character of the character expression.

  • character_expression: The character expression.

                      SELECT ASCII('0');
                      --  Result: 48
                    

BASE64_ENCODE(input_binary)

Returns the Base64-encoded string form of a binary input.

  • input_binary: The binary value to encode.

                        SELECT BASE64_ENCODE(BinaryData);
                    -- Result: 'QmFzZTY0RW5jb2RlZA=='
                    

BASE64_DECODE(input_string)

Returns the binary result of decoding a Base64-encoded string.

  • input_string: The Base64-encoded string.

                        SELECT BASE64_DECODE('QmFzZTY0RW5jb2RlZA==');
                    -- Result: (binary output)
                    

CHAR(integer_expression)

Converts the integer ASCII code to the corresponding character.

  • integer_expression: The integer from 0 through 255.

                      SELECT CHAR(48);
                      -- Result: '0'
                    

CHARINDEX(expressionToFind ,expressionToSearch [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT CHARINDEX('456', '0123456');
                      -- Result: 4

                      SELECT CHARINDEX('456', '0123456', 5);
                      -- Result: -1
                    

CHAR_LENGTH(character_expression),

Returns the number of UTF-8 characters present in the expression.

  • character_expression: The set of characters to be evaluated for length.

				 SELECT CHAR_LENGTH('sample text') FROM Account LIMIT 1
				 -- Result: 11			
				

CONCAT(string_value1, string_value2, ..., string_valueN)

Returns the string that is the concatenation of two or more string values.

  • string_value1: The first string to be concatenated.
  • string_value2: The second string to be concatenated.
  • string_valueN: (optional) Any additional strings to be concatenated.

                      SELECT CONCAT('Hello, ', 'world!');
                      -- Result: 'Hello, world!'
                    

CONTAINS(expressionToSearch, expressionToFind)

Returns 1 if expressionToFind is found within expressionToSearch; otherwise, 0.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.

                      SELECT CONTAINS('0123456', '456');
                      -- Result: 1

                      SELECT CONTAINS('0123456', 'Not a number');
                      -- Result: 0
                    

ENDSWITH(character_expression, character_suffix)

Returns 1 if character_expression ends with character_suffix; otherwise, 0.

  • character_expression: The character expression.
  • character_suffix: The character suffix to search for.

                      SELECT ENDSWITH('0123456', '456');
                      -- Result: 1

                      SELECT ENDSWITH('0123456', '012');
                      -- Result: 0
                    

FILESIZE(uri)

Returns the number of bytes present in the file at the specified file path.

  • uri: The path of the file from which to read the size.

				SELECT FILESIZE('C:/Users/User1/Desktop/myfile.txt');
				-- Result: 23684
				

FORMAT(value [, parseFormat], format )

Returns the value formatted with the specified format.

  • value: The string to format.
  • format: The string specifying the output syntax of the date or numeric format.
  • parseFormat: The string specifying the input syntax of the date value. Not applicable to numeric types.

                      SELECT FORMAT(12.34, '#');
                      -- Result: 12

                      SELECT FORMAT(12.34, '#.###');
                      -- Result: 12.34

                      SELECT FORMAT(1234, '0.000E0');
                      -- Result: 1.234E3
                      
                      SELECT FORMAT('2019/01/01', 'yyyy-MM-dd');
                      -- Result: 2019-01-01
                      
                      SELECT FORMAT('20190101', 'yyyyMMdd', 'yyyy-MM-dd');
                      -- Result: '2019-01-01'
                    

HASHBYTES(algorithm, value)

Returns the hash of the input value as a byte array using the given algorithm. The supported algorithms are MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, and SHA3_512.

  • algorithm: The algorithm to use for hashing. Must be one of MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, or SHA3_512.
  • value: The value to hash. Must be either a string or byte array.

                      SELECT HASHBYTES('MD5', 'Test');
                      -- Result (byte array): 0x0CBC6611F5540BD0809A388DC95A615B
                    

INDEXOF(expressionToSearch, expressionToFind [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT INDEXOF('0123456', '456');
                      -- Result: 4

                      SELECT INDEXOF('0123456', '456', 5);
                      -- Result: -1
                    

ISALPHABETIC(character_expression)

Returns 1 if the character expression consists only of alphabetic characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHABETIC('Hello');
                      -- Result: 1

                      SELECT ISALPHABETIC('Hello123');
                      -- Result: 0

                      SELECT ISALPHABETIC('Hello!');
                      -- Result: 0
                    

ISALPHANUMERIC(character_expression)

Returns 1 if the character expression consists only of alphabetic and numeric characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHANUMERIC('Hello123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('Hello.123');
                      -- Result: 0
                    

ISNUMERIC(character_expression)

Returns 1 if the character expression consists only of numeric digits and up to one decimal point; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISNUMERIC('123');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45.67');
                      -- Result: 0

                      SELECT ISNUMERIC('12a3');
                      -- Result: 0
                    

JSON_EXTRACT(json, jsonpath)

Selects any value in a JSON array or object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to extract.
  • jsonpath: The XPath used to select the nodes. The JSONPath must be a string constant. The values of the nodes selected will be returned in a token-separated list.

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test');
                      -- Result: '{"data":1}'

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test.data');
                      -- Result: 1

                      SELECT JSON_EXTRACT('{"test": {"data": [1, 2, 3]}}', '$.test.data[1]');
                      -- Result: 2
                    

LEFT ( character_expression , integer_expression )

Returns the specified number of characters counting from the left of the specified string.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters will be returned counting from the left of character_expression.

                      SELECT LEFT('1234567890', 3);
                      -- Result: '123'
                    

LEN(string_expression)

Returns the number of characters of the specified string expression.

  • string_expression: The string expression.

                      SELECT LEN('12345');
                      -- Result: 5
                    

LOCATE(substring,string)

Returns an integer representing how many characters into the string the substring appears.

  • substring: The substring to find inside larger string.
  • string: The larger string that is searched for the substring.
  • start locations: An optional integer that sets the character position (offset) from which to start searching.

				SELECT LOCATE('sample','XXXXXsampleXXXXX');
				-- Result: 6

                SELECT LOCATE('sample', 'XXXXXsampleXXXXX', 7)
                -- Result: 0
				

LOWER ( character_expression )

Returns the character expression with the uppercase character data converted to lowercase.

  • character_expression: The character expression.

                      SELECT LOWER('MIXED case');
                      -- Result: 'mixed case'
                    

LTRIM(character_expression)

Returns the character expression with leading blanks removed.

  • character_expression: The character expression.

                      SELECT LTRIM('     trimmed');
                      -- Result: 'trimmed'
                    

MASK(string_expression, mask_character [, start_index [, end_index ]])

Replaces the characters between start_index and end_index with the mask_character within the string.

  • string_expression: The string expression to be searched.
  • mask_character: The character to mask with.
  • start_index: The optional number of characters to leave unmasked at beginning of string. Defaults to 0.
  • end_index: The optional number of characters to leave unmasked at end of string. Defaults to 0.

                        SELECT MASK('1234567890','*',);
                        -- Result: '**********'
                        SELECT MASK('1234567890','*', 4);
                        -- Result: '1234******'
                        SELECT MASK('1234567890','*', 4, 2);
                        -- Result: '1234****90'  
                    

NCHAR(integer_expression)

Returns the Unicode character with the specified integer code as defined by the Unicode standard.

  • integer_expression: The integer from 0 through 65535 (0 through xFFFF).

OCTET_LENGTH(character_expression),

Returns the number of bytes present in the expression.

  • character_expression: The set of characters to be be evaluated.

				 SELECT OCTET_LENGTH('text') FROM Account LIMIT 1
				 -- Result: 4
				

PATINDEX(pattern, expression)

Returns the starting position of the first occurrence of the pattern in the expression. Returns 0 if the pattern is not found.

  • pattern: The character expression that contains the sequence to be found. The wild-card character % can be used only at the start or end of the expression.
  • expression: The expression, typically a column, to search for the pattern.

                      SELECT PATINDEX('123%', '1234567890');
                      -- Result: 1

                      SELECT PATINDEX('%890', '1234567890');
                      -- Result: 8

                      SELECT PATINDEX('%456%', '1234567890');
                      -- Result: 4
                    

POSITION(expressionToFind IN expressionToSearch)

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.

                      SELECT POSITION('456' IN '123456');
                      -- Result: 4

                      SELECT POSITION('x' IN '123456');
                      -- Result: 0
                    

QUOTENAME(character_string [, quote_character])

Returns a valid SQL Server-delimited identifier by adding the necessary delimiters to the specified Unicode string.

  • character_string: The string of Unicode character data. The string is limited to 128 characters. Inputs greater than 128 characters return null.
  • quote_character: An optional single character to be used as the delimiter. These include:
    • a single quotation mark (')
    • a left or right bracket ([])
    • a double quotation mark (")
    • a left or right parenthesis ( () )
    • a greater or less than sign (><)
    • a left or right brace ({})
    • a backtick (`)

    If quote_character is not specified brackets are used. If an unacceptable character is supplied, it returns NULL.


                      SELECT QUOTENAME('table_name');
                      -- Result: '[table_name]'

                      SELECT QUOTENAME('table_name', '"');
                      -- Result: '"table_name"'

                      SELECT QUOTENAME('table_name', '[');
                      -- Result: '[table_name]'
                    

REGEXP_REPLACE(expr, pattern [, replacement [, position [, occurrence [, match_type]]]])

Replaces occurrences of a regular expression pattern in the input string with a specified value and returns the resulting string.

  • expr: The string expression to be searched.
  • pattern: The regular expression pattern to match.
  • replacement: (optional) The string to replace each matched occurrence of pattern with. Supports backreferences \1 through \9 and escape sequences \n, \r, \t, and \\. By default, this argument is an empty string, meaning matched portions are removed from the output string.
  • position: (optional) The 1-based starting position used when searching for regular expression matches in expr. The default is 1. All characters prior to the starting position are included in the output string unaltered. Skipped characters are ignored when calculating regular expression matches, even if they match pattern.
  • occurrence: (optional) Specifies whether all occurrences of pattern,, or only a specific occurrence of pattern are replaced. The default is 0, which means all occurrences of pattern are replaced with replacement. Set to 1 to only replace the first instance of the pattern; 2 to replace the second; etc.
  • match_type: (optional) Modifiers used to customize matching behavior. Supported values are: 'c' (case-sensitive, default), 'i' (case-insensitive), 'm' (multiline), 'n' (dot matches newline), 'x' (extended mode). These can be freely combined by including the letters back to back. For example, 'im' applies the functionality of both 'i' and 'm'. The regular expression syntax used is that of the Extended mode ('x') ignores whitespace and allows inline comments. If the pattern needs to match a literal space, it must be explicitly escaped.

                      SELECT REGEXP_REPLACE('abc123def456', '\d+', 'NUM');
                      -- Result: 'abcNUMdefNUM'

                      SELECT REGEXP_REPLACE('Hello\nHELLO\nhello', '^hello', 'X', 1, 0, 'im');
                      -- Result: 'X\nX\nX'
                    

REPLACE(string_expression, string_pattern, string_replacement)

Replaces all occurrences of a string with another string.

  • string_expression: The string expression to be searched. This can be a character or binary data type.
  • string_pattern: The substring to be found. Cannot be an empty string.
  • string_replacement: The replacement string.

                      SELECT REPLACE('1234567890', '456', '|');
                      -- Result: '123|7890'

                      SELECT REPLACE('123123123', '123', '.');
                      -- Result: '...'

                      SELECT REPLACE('1234567890', 'a', 'b');
                      -- Result: '1234567890'
                    

REPLICATE ( string_expression ,integer_expression )

Repeats the string value the specified number of times.

  • string_expression: The string to replicate.
  • integer_expression: The repeat count.

                      SELECT REPLACE('x', 5);
                      -- Result: 'xxxxx'
                    

REVERSE ( string_expression )

Returns the reverse order of the string expression.

  • string_expression: The string.

                      SELECT REVERSE('1234567890');
                      -- Result: '0987654321'
                    

RIGHT ( character_expression , integer_expression )

Returns the right part of the string with the specified number of characters.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters of the character expression will be returned.

                      SELECT RIGHT('1234567890', 3);
                      -- Result: '890'
                    

RTRIM(character_expression)

Returns the character expression after it removes trailing blanks.

  • character_expression: The character expression.

                      SELECT RTRIM('trimmed     ');
                      -- Result: 'trimmed'
                    

SOUNDEX(character_expression)

Returns the four-character Soundex code, based on how the string sounds when spoken.

  • character_expression: The alphanumeric expression of character data.

                      SELECT SOUNDEX('smith');
                      -- Result: 'S530'
                    

SPACE(repeatcount)

Returns the string that consists of repeated spaces.

  • repeatcount: The number of spaces.

                      SELECT SPACE(5);
                      -- Result: '     '
                    

SPLIT(string, delimiter, offset)

Returns a section of the string between to delimiters.

  • string: The string to split.
  • delimiter: The character to split the string with.
  • offset: The number of the split to return. Positive numbers are treated as offsets from the left, and negative numbers are treated as offsets from the right.

                      SELECT SPLIT('a/b/c/d', '/', 1);
                      -- Result: 'a'
                      SELECT SPLIT('a/b/c/d', '/', -2);
                      -- Result: 'c'
                    

STARTSWITH(character_expression, character_prefix)

Returns 1 if character_expression starts with character_prefix; otherwise, 0.

  • character_expression: The character expression.
  • character_prefix: The character prefix to search for.

                      SELECT STARTSWITH('0123456', '012');
                      -- Result: 1

                      SELECT STARTSWITH('0123456', '456');
                      -- Result: 0
                    

STR ( float_expression [ , integer_length [ , integer_decimal ] ] )

Returns the character data converted from the numeric data. For example, STR(123.45, 6, 1) returns 123.5.

  • float_expression: The float expression.
  • length: The optional total length to return. This includes decimal point, sign, digits, and spaces. The default is 10.
  • decimal: The optional number of places to the right of the decimal point. The decimal must be less than or equal to 16.

                      SELECT STR('123.456');
                      -- Result: '123'

                      SELECT STR('123.456', 2);
                      -- Result: '**'

                      SELECT STR('123.456', 10, 2);
                      -- Result: '123.46'
                    

STUFF(character_expression , integer_start , integer_length , replaceWith_expression)

Inserts a string into another string. It deletes the specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

  • character_expression: The string expression.
  • start: The integer value that specifies the location to start deletion and insertion. If start or length is negative, null is returned. If start is longer than the string to be modified, character_expression, null is returned.
  • length: The integer that specifies the number of characters to delete. If length is longer than character_expression, deletion occurs up to the last character in replaceWith_expression.
  • replaceWith_expression: The expression of character data that will replace length characters of character_expression beginning at the start value.

                      SELECT STUFF('1234567890', 3, 2, 'xx');
                      -- Result: '12xx567890'
                    

SUBSTRING(string_value FROM start FOR length)

Returns the part of the string with the specified length; starts at the specified index.

  • string_value: The character string.
  • start: The positive integer that specifies the start index of characters to return.
  • length: Optional. The positive integer that specifies how many characters will be returned.

                      SELECT SUBSTRING('1234567890' FROM 3 FOR 2);
                      -- Result: '34'

                      SELECT SUBSTRING('1234567890' FROM 3);
                      -- Result: '34567890'
                    
You can also drop the FROM and FOR clauses:
                    SELECT SUBSTRING('1234567890', 3, 2)
                    --Result: '34'
                    SELECT SUBSTRING('1234567890', 3)
                    --Result: '34567890'
                    

TEXT_ENCODE(input_string, charset)

Returns binary output by encoding a string using the specified character set.

  • input_string: The plain text string.
  • charset: The character set to use, such as 'UTF-8', 'ISO-8859-1'.

                    SELECT TEXT_ENCODE('Café', 'UTF-8');
                    -- Result: (binary output)
                    

TEXT_DECODE(input_binary, charset)

Returns a string decoded from binary data using the specified character set.

  • input_binary: The binary value to decode.
  • charset: The character set used for decoding.

                    SELECT TEXT_DECODE(BinaryData, 'UTF-8');
                    -- Result: 'Café'
                    

TOSTRING(string_value1)

Converts the value of this instance to its equivalent string representation.

  • string_value1: The string to be converted.

                      SELECT TOSTRING(123);
                      -- Result: '123'

                      SELECT TOSTRING(123.456);
                      -- Result: '123.456'

                      SELECT TOSTRING(null);
                      -- Result: ''
                    

TRIM(trimspec trimchar FROM string_value)

Returns the character expression with leading and/or trailing blanks removed.

  • trimspec: Optional. If included must be one of the keywords BOTH, LEADING or TRAILING.
  • trimchar: Optional. If included should be a one-character string value.
  • string_value: The string value to trim.

                      SELECT TRIM('     trimmed     ');
                      -- Result: 'trimmed'

                      SELECT TRIM(LEADING FROM '     trimmed     ');
                      -- Result: 'trimmed     '

                      SELECT TRIM('-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(BOTH '-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(TRAILING '-' FROM '-----trimmed-----');
                      -- Result: '-----trimmed'
                    

UNICODE(ncharacter_expression)

Returns the integer value defined by the Unicode standard of the first character of the input expression.

  • ncharacter_expression: The Unicode character expression.

UPPER ( character_expression )

Returns the character expression with lowercase character data converted to uppercase.

  • character_expression: The character expression.

                      SELECT UPPER('MIXED case');
                      -- Result: 'MIXED CASE'
                    

XML_EXTRACT(xml, xpath [, separator])

Extracts an XML document using the specified XPath to flatten the XML. A comma is used to separate the outputs by default, but this can be changed by specifying the third parameter.

  • xml: The XML document to extract.
  • xpath: The XPath used to select the nodes. The nodes selected will be returned in a token-separated list.
  • separator: The optional token used to separate the items in the flattened response. If this is not specified, the separator will be a comma.

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch');
                      -- Result: 'a,e,i,o,u'

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch', ';');
                      -- Result: 'a;e;i;o;u'
                    

CData Python Connector for Pipedrive

MATH Functions

ABS ( numeric_expression )

Returns the absolute (positive) value of the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT ABS(15);
                      -- Result: 15

                      SELECT ABS(-15);
                      -- Result: 15
                    

ACOS ( float_expression )

Returns the arc cosine, the angle in radians whose cosine is the specified float expression.

  • float_expression: The float expression that specifies the cosine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ACOS(0.5);
                      -- Result: 1.0471975511966
                    

ASIN ( float_expression )

Returns the arc sine, the angle in radians whose sine is the specified float expression.

  • float_expression: The float expression that specifies the sine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ASIN(0.5);
                      -- Result: 0.523598775598299
                    

ATAN ( float_expression )

Returns the arc tangent, the angle in radians whose tangent is the specified float expression.

  • float_expression: The float expression that specifies the tangent of the angle to be returned.

                      SELECT ATAN(10);
                      -- Result: 1.47112767430373
                    

ATN2 ( float_expression1 , float_expression2 )

Returns the angle in radians between the positive x-axis and the ray from the origin to the point (y, x) where x and y are the values of the two specified float expressions.

  • float_expression1: The float expression that is the y-coordinate.
  • float_expression2: The float expression that is the x-coordinate.

                      SELECT ATN2(1, 1);
                      -- Result: 0.785398163397448
                    

CEILING ( numeric_expression ) or CEIL( numeric_expression )

Returns the smallest integer greater than or equal to the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT CEILING(1.3);
                      -- Result: 2

                      SELECT CEILING(1.5);
                      -- Result: 2

                      SELECT CEILING(1.7);
                      -- Result: 2
                    

COS ( float_expression )

Returns the trigonometric cosine of the specified angle in radians in the specified expression.

  • float_expression: The float expression of the specified angle in radians.

                      SELECT COS(1);
                      -- Result: 0.54030230586814
                    

COT ( float_expression )

Returns the trigonometric cotangent of the angle in radians specified by float_expression.

  • float_expression: The float expression of the angle in radians.

                      SELECT COT(1);
                      -- Result: 0.642092615934331
                    

DEGREES ( numeric_expression )

Returns the angle in degrees for the angle specified in radians.

  • numeric_expression: The angle in radians, an expression of an indeterminate numeric data type except for the bit data type.

                      SELECT DEGREES(3.1415926);
                      -- Result: 179.999996929531
                    

EXP ( float_expression )

Returns the exponential value of the specified float expression. For example, EXP(LOG(20)) is 20.

  • float_expression: The float expression.

                      SELECT EXP(2);
                      -- Result: 7.38905609893065
                    

EXPR ( expression )

Evaluates the expression.

  • expression: The expression. Operators allowed are +, -, *, /, ==, !=, >, <, >=, and <=.

                      SELECT EXPR('1 + 2 * 3');
                      -- Result: 7

                      SELECT EXPR('1 + 2 * 3 == 7');
                      -- Result: true
                    

FLOOR ( numeric_expression )

Returns the largest integer less than or equal to the numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT FLOOR(1.3);
                      -- Result: 1

                      SELECT FLOOR(1.5);
                      -- Result: 1

                      SELECT FLOOR(1.7);
                      -- Result: 1
                    

GREATEST(int1,int2,....)

Returns the greatest of the supplied integers.

				SELECT GREATEST(3,5,8,10,1)
				-- Result: 10			
				

HEX(value)

Returns a the equivalent hex for the input value.

  • value: A string or numerical value to be converted into hex.

				SELECT HEX(866849198);
				-- Result: 33AB11AE
				
				SELECT HEX('Sample Text');
				-- Result: 53616D706C652054657874
				

JSON_AVG(json, jsonpath)

Computes the average value of a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_AVG('[1,2,3,4,5]', '$[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4.5
                    

JSON_COUNT(json, jsonpath)

Returns the number of elements in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_COUNT('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 2
                    

JSON_MAX(json, jsonpath)

Gets the maximum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MAX('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[..3]');
                      -- Result: 4
                    

JSON_MIN(json, jsonpath)

Gets the minimum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MIN('[1,2,3,4,5]', '$[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4
                    

JSON_SUM(json, jsonpath)

Computes the summary value in JSON according to the JSONPath expression. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_SUM('[1,2,3,4,5]', '$[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 9
                    

LEAST(int1,int2,....)

Returns the least of the supplied integers.

				SELECT LEAST(3,5,8,10,1)
				-- Result: 1			
				

LOG ( float_expression [, base ] )

Returns the natural logarithm of the specified float expression.

  • float_expression: The float expression.
  • base: The optional integer argument that sets the base for the logarithm.

                      SELECT LOG(7.3890560);
                      -- Result: 1.99999998661119
                    

LOG10 ( float_expression )

Returns the base-10 logarithm of the specified float expression.

  • float_expression: The expression of type float.

                      SELECT LOG10(10000);
                      -- Result: 4
                    

MOD(dividend,divisor)

Returns the integer value associated with the remainder when dividing the dividend by the divisor.

  • dividend: The number to take the modulus of.
  • divisor: The number to divide the dividend by when determining the modulus.

				SELECT MOD(10,3);
				-- Result: 1
				

NEGATE(real_number)

Returns the opposite to the real number input.

  • real_number: The real number to find the opposite of.

				SELECT NEGATE(10);
				-- Result: -10
				
				SELECT NEGATE(-12.4)
				--Result: 12.4
				

PI ( )

Returns the constant value of pi.

                  SELECT PI()
                  -- Result: 3.14159265358979 
                

POWER ( float_expression , y )

Returns the value of the specified expression raised to the specified power.

  • float_expression: The float expression.
  • y: The power to raise float_expression to.

                      SELECT POWER(2, 10);
                      -- Result: 1024

                      SELECT POWER(2, -2);
                      -- Result: 0.25
                    

RADIANS ( float_expression )

Returns the angle in radians of the angle in degrees.

  • float_expression: The degrees of the angle as a float expression.

                      SELECT RADIANS(180);
                      -- Result: 3.14159265358979
                    

RAND ( [ integer_seed ] )

Returns a pseudorandom float value from 0 through 1, exclusive.

  • seed: The optional integer expression that specifies the seed value. If seed is not specified, a seed value at random will be assigned.

                      SELECT RAND();
                      -- This result may be different, since the seed is randomized
                      -- Result: 0.873159630165044

                      SELECT RAND(1);
                      -- This result will always be the same, since the seed is constant
                      -- Result: 0.248668584157093
                    

ROUND ( numeric_expression [ ,integer_length] [ ,function ] )

Returns the numeric value rounded to the specified length or precision.

  • numeric_expression: The expression of a numeric data type.
  • length: The optional precision to round the numeric expression to. When this is omitted, the default behavior will be to round to the nearest whole number.
  • function: The optional type of operation to perform. When the function parameter is omitted or has a value of 0 (default), numeric_expression is rounded. When a value other than 0 is specified, numeric_expression is truncated.

                      SELECT ROUND(1.3, 0);
                      -- Result: 1

                      SELECT ROUND(1.55, 1);
                      -- Result: 1.6

                      SELECT ROUND(1.7, 0, 0);
                      -- Result: 2

                      SELECT ROUND(1.7, 0, 1);
                      -- Result: 1
                      
                      SELECT ROUND (1.24);
                      -- Result: 1.0
                    

SIGN ( numeric_expression )

Returns the positive sign (1), 0, or negative sign (-1) of the specified expression.

  • numeric_expression: The expression of an indeterminate data type except for the bit data type.

                      SELECT SIGN(0);
                      -- Result: 0

                      SELECT SIGN(10);
                      -- Result: 1

                      SELECT SIGN(-10);
                      -- Result: -1
                    

SIN ( float_expression )

Returns the trigonometric sine of the angle in radians.

  • float_expression: The float expression specifying the angle in radians.

                     SELECT SIN(1);
                     -- Result: 0.841470984807897
                    

SQRT ( float_expression )

Returns the square root of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQRT(100);
                      -- Result: 10
                    

SQUARE ( float_expression )

Returns the square of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQUARE(10);
                      -- Result: 100

                      SELECT SQUARE(-10);
                      -- Result: 100
                    

TAN ( float_expression )

Returns the tangent of the input expression.

  • float_expression: The expression of type float.

                      SELECT TAN(1);
                      -- Result: 1.5574077246549
                    

TRUNC(decimal_number,precision)

Returns the supplied decimal number truncated to have the supplied decimal precision.

  • decimal_number: The decimal value to truncate.
  • precision: The number of decimal places to truncate the decimal number to.

				SELECT TRUNC(10.3423,2);
				-- Result: 10.34
				

_ROW_NUMBER_()

Returns a row index as an additional column.

				SELECT ColumnName, _ROW_NUMBER_() FROM TableName
				-- Result: ColumnData, 0
				ColumnData2, 1
				ColumnData3, 2
				

CData Python Connector for Pipedrive

DATE Functions

CURRENT_DATE()

Returns the current date value.

                  SELECT CURRENT_DATE();
                  -- Result: 2018-02-01
                

CURRENT_TIMESTAMP()

Returns the current time stamp of the database system as a datetime value. This value is equal to GETDATE and SYSDATETIME, and is always in the local timezone.

                  SELECT CURRENT_TIMESTAMP();
                  -- Result: 2018-02-01 03:04:05
                

DATEADD (datepart , integer_number , date [, dateformat])

Returns the datetime value that results from adding the specified number (a signed integer) to the specified date part of the date.

  • datepart: The part of the date to add the specified number to. The valid values and abbreviations are
    • year (yy, yyyy)
    • quarter (qq, q)
    • month (mm, m)
    • week (wk, ww)
    • weekday (dw)
    • dayofyear (dy, y)
    • day (dd, d)
    • hour (hh)
    • minute (mi, n)
    • second (ss, s)
    • millisecond (ms)
  • number: The number to be added.
  • date: The expression of the datetime data type.
  • dateformat: The optional output date format.

                  SELECT DATEADD('d', 5, '2018-02-01');
                  -- Result: 2018-02-06

                  SELECT DATEADD('hh', 5, '2018-02-01 00:00:00');
                  -- Result: 2018-02-01 05:00:00
                

DATEDIFF ( datepart , startdate , enddate )

Returns the difference (a signed integer) of the specified time interval between the specified start date and end date.

  • datepart: The part of the date that is the time interval of the difference between the start date and end date. The valid values and abbreviations are:
    • Year (year, yyyy, yy)
    • Quarter (quarter, qq, q)
    • Month (month, mm, m)
    • Week (week, wk, ww)
    • Weekday (weekday, dw)
    • Dayofyear (dayofyear, dy, y)
    • Day (day, dd, d)
    • Hour (hour, hh)
    • Minute (minute, mi, n)
    • Second (second, ss, s)
    • Millisecond (millisecond, ms)
  • startdate: The datetime expression of the start date.
  • enddate: The datetime expression of the end date.

                  SELECT DATEDIFF('d', '2018-02-01', '2018-02-10');
                  -- Result: 9

                  SELECT DATEDIFF('hh', '2018-02-01 00:00:00', '2018-02-01 12:00:00');
                  -- Result: 12
                

DATE_FORMAT(date,format)

Returns the date or timestamp in the format specified. This function mirrors the MySQL DATE_FORMAT function.

  • date: A date or timestamp string.
  • format: The specifier string of the desired output format. The list of supported format specifiers comes from the MySQL DATE_FORMAT function (see link to MySQL documentation above).

					SELECT DATE_FORMAT('9/4/2021 3:11:53 AM','%h')
					-- Result: 03
				  

DATEFROMPARTS(integer_year, integer_month, integer_day)

Returns the datetime value for the specified year, month, and day.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.

                    SELECT DATEFROMPARTS(2018, 2, 1);
                    -- Result: 2018-02-01
                  

DATENAME(datepart , date)

Returns the character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), and nanosecond (ns).
  • date: The datetime expression.

                     SELECT DATENAME('yy', '2018-02-01');
                     -- Result: '2018'

                     SELECT DATENAME('dw', '2018-02-01');
                     -- Result: 'Thursday'
                   

DATEPART(datepart, date [,integer_datefirst])

Returns a character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), nanosecond (ns), ISODOW, ISO_WEEK (isoweek, isowk,isoww), and ISOYEAR.
  • date: The datetime string.
  • datefirst: The optional integer representing the first day of the week. The default is 7, Sunday.

                    SELECT DATEPART('yy', '2018-02-01');
                    -- Result: 2018

                    SELECT DATEPART('dw', '2018-02-01');
                    -- Result: 5
                  

DATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_milliseconds)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • milliseconds: The integer expression specifying the milliseconds.

                    SELECT DATETIMEFROMPARTS(2018, 2, 1, 1, 2, 3, 456);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATETIME2FROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision: The integer expression specifying the precision of the fraction.

				    SELECT DATETIME2FROMPARTS(2018, 2, 1, 1, 2, 3, 456, 3);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATE_TRUNC(date, datepart)

Truncates the date to the precision of the given date part. Modeled after the Oracle TRUNC function.

  • date: The datetime string that specifies the date.
  • datepart: Refer to the Oracle documentation for valid datepart syntax.

				    SELECT DATE_TRUNC('05-04-2005', 'YY');
                    -- Result: '1/1/2005'
					
                    SELECT DATE_TRUNC('05-04-2005', 'MM');
                    -- Result: '5/1/2005'                    
                  

DATE_TRUNC2(datepart, date, [weekday])

Truncates the date to the precision of the given date part. Modeled after the PostgreSQL date_trunc function.

  • datepart: One of 'millennium', 'century', 'decade', 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute' or 'second'.
  • date: The datetime string that specifies the date.
  • weekday: The optional day of the week to use as the first day for 'week'. One of 'sunday', 'monday', etc.

                    SELECT DATE_TRUNC2('year', '2020-02-04');
                    -- Result: '2020-01-01'

                    SELECT DATE_TRUNC2('week', '2020-02-04', 'monday');
                    -- Result: '2020-02-02', which is the previous Monday
                  

DAY(date)

Returns the integer that specifies the day component of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAY('2018-02-01');
                    -- Result: 1
                  

DAYNAME(date)

Returns the name of the day of the week of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAYNAME('8/18/2021');
                    -- Result: Wednesday
                  

DAYOFMONTH(date)

Returns the day of the month of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFMONTH('04/15/2000');
				  -- Result: 15
				  

DAYOFWEEK(date)

Returns the day of the week of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFWEEK('04/15/2000');
				  -- Result: 7
				  

DAYOFYEAR(date)

Returns the day of the year of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFYEAR('04/15/2000');
				  -- Result: 106
				  

EOMONTH(date [, integer_month_to_add ]) or LAST_DAY(date)

Returns the last day of the month that contains the specified date with an optional offset.

  • date: The datetime expression specifying the date for which to return the last day of the month.
  • integer_month_to_add: The optional integer expression specifying the number of months to add to the date before calculating the end of the month.

                  SELECT EOMONTH('2018-02-01');
                  -- Result: 2018-02-28
                  
                  SELECT LAST_DAY('2018-02-01');
                  -- Result: 2018-02-28

                  SELECT EOMONTH('2018-02-01', 2);
                  -- Result: 2018-04-30
                

EXTRACT(date_part FROM date_column_name)

Returns the last day of the month that contains the specified date with an optional offset.

  • date_part: One of the following date components: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.
  • date_column_name: The name of a date column in a table.

                  SELECT EXTRACT(YEAR FROM DateColumn)
                  -- Result: 2021
                

FDWEEK(date)

Returns the first day of the week of the given date part.
  • date: The datetime string that specifies the date.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the week.

				  SELECT FDWEEK('02-08-2018');
				  -- Result: 2/4/2018

          SELECT FDWEEK('02-08-2018', 1)
          --Result: 02/11/2018
				  

FDMONTH(date)

Returns the first day of the month of the given date part.
  • date: The datetime string that specifies the date.
  • month to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the month.

				  SELECT FDMONTH('02-08-2018');
				  -- Result: 2/1/2018

          SELECT FDMONTH('02-08-2018', 1) 
          --Result: 03/01/2018
				  

FDQUARTER(date)

Returns the first day of the quarter of the given date part.
  • date: The datetime string that specifies the date.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the quarter.

				  SELECT FDQUARTER('05-08-2018');
				  -- Result: 4/1/2018

          SELECT FDQUARTER('05-08-2018',1)
          --Result: 07/01/2018
				  

FILEMODIFIEDTIME(uri)

Returns the time stamp associated with the Date Modified of the relevant file.

  • uri: An absolute path pointing to a file on the local file system.

				 SELECT FILEMODIFIEDTIME('C:/Documents/myfile.txt');
				 -- Result: 6/25/2019 10:06:58 AM
				 

FROM_DAYS(datevalue)

Returns a date derived from the number of days after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL FROM_DAYS function.

  • datevalue: A integer value representing the number of days since 1582-10-15.

				SELECT FROM_DAYS(736000);
				-- Result: 2/6/2015
				

FROM_UNIXTIME(time, issecond)

Returns a representation of the unix_timestamp argument as a value in YYYY-MM-DD HH:MM:SS expressed in the current time zone.

  • time: The time stamp value from epoch time. Milliseconds are accepted.
  • issecond: Indicates the time stamp value is milliseconds to epoch time.

                      SELECT FROM_UNIXTIME(1540495231, 1);
                      -- Result: 2018-10-25 19:20:31

                      SELECT FROM_UNIXTIME(1540495357385, 0);
                      -- Result: 2018-10-25 19:22:37
                    

GETDATE()

Returns the current time stamp of the database system as a datetime value. This value is equal to CURRENT_TIMESTAMP and SYSDATETIME, and is always in the local timezone.

                  SELECT GETDATE();
                  -- Result: 2018-02-01 03:04:05
                

GETUTCDATE()

Returns the current time stamp of the database system formatted as a UTC datetime value. This value is equal to SYSUTCDATETIME.

In addition, GETUTCDATE can take an optional second parameter, a date and time that are converted to UTC.

                  SELECT GETUTCDATE();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05

                  SELECT GETUTCDATE('2020/08/31 13:56:00')
                  --Result: '2020-08-31 17:56:00'
                

HOUR(date)

Returns the hour component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT HOUR('02-02-2020 11:30:00');
				-- Result: 11
				

ISDATE(date, [date_format])

Returns 1 if the value is a valid date, time, or datetime value; otherwise, 0.

  • date: The datetime string.
  • date_format: The optional datetime format.

                      SELECT ISDATE('2018-02-01', 'yyyy-MM-dd');
                      -- Result: 1

                      SELECT ISDATE('Not a date');
                      -- Result: 0
                    

LAST_WEEK()

Returns a time stamp equivalent to exactly one week before the current date.

				SELECT LAST_WEEK();	//Assume the date is 3/17/2020	
			 -- Result: 3/10/2020 00:00:00
				

LAST_MONTH()

Returns a time stamp equivalent to exactly one month before the current date.

	
				SELECT LAST_MONTH(); //Assume the date is 3/17/2020
				-- Result: 2/17/2020 00:00:00
				

LAST_YEAR()

Returns a time stamp equivalent to exactly one year before the current date.

				SELECT LAST_YEAR();	//Assume the date is 3/17/2020	
				-- Result: 3/10/2019 00:00:00
				

LDWEEK(date)

Returns the last day of the provided week.

  • date: The datetime string.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the week.

				SELECT LDWEEK('02-02-2020');
				-- Result: 2/8/2020
				

LDMONTH(date)

Returns the last day of the provided month.

  • date: The datetime string.
  • months to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the month.

				SELECT LDMONTH('02-02-2020');
				-- Result: 2/29/2020

        SELECT LDMONTH('02-08-2020', 1)
        --Result: 03/31/2020
				

LDQUARTER(date)

Returns the last day of the provided quarter.

  • date: The datetime string.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the quarter.

				SELECT LDQUARTER('02-02-2020');
				-- Result: 3/31/2020

        SELECT LDQUARTER('02-02-2020',1)
        --Result: 06/30/2020
				

MAKEDATE(year, days)

Returns a date value from a year and a number of days.

  • year: The year
  • days: The number of days into the year. Value must be greater than 0.

          SELECT MAKEDATE(2020, 1);
          -- Result: 2020-01-01
        

MINUTE(date)

Returns the minute component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MINUTE('02-02-2020 11:15:00');
				-- Result: 15
				

MONTH(date)

Returns the month component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MONTH('02-02-2020');
				-- Result: 2
				

QUARTER(date)

Returns the quarter associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT QUARTER('02-02-2020');
				-- Result: 1
				

SECOND(date)

Returns the second component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT SECOND('02-02-2020 11:15:23');
				-- Result: 23
				

SMALLDATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute)

Returns the datetime value for the specified date and time.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.

                      SELECT SMALLDATETIMEFROMPARTS(2018, 2, 1, 1, 2);
                      -- Result: 2018-02-01 01:02:00
                    

STRTODATE(string,format)

Parses the provided string value and returns the corresponding datetime.

  • string: The string value to be converted to datetime format.
  • format: A format string which describes how to interpret the first string input. A few special formats are available as well, including UNIX, UNIXMILIS, TICKS, and FILETICKS.

				SELECT STRTODATE('03*04*2020','dd*MM*yyyy');
				-- Result: 4/3/2020
				

SYSDATETIME()

Returns the current time stamp as a datetime value of the database system. It is equal to GETDATE and CURRENT_TIMESTAMP, and is always in the local timezone.

                  SELECT SYSDATETIME();
                  -- Result: 2018-02-01 03:04:05
                

SYSUTCDATETIME()

Returns the current system date and time as a UTC datetime value. It is equal to GETUTCDATE.

                  SELECT SYSUTCDATETIME();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05
                

TIMEFROMPARTS(integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the time value for the specified time and with the specified precision.

  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision : The integer expression specifying the precision of the fraction.

                      SELECT TIMEFROMPARTS(1, 2, 3, 456, 3);
                      -- Result: 01:02:03.456
                    

TO_DAYS(date)

Returns the number of days since 0000-00-01. This will only return a value for dates on or after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL TO_DAYS function.

  • date: The datetime string that specifies the date.

				SELECT TO_DAYS('02-06-2015');
				-- Result: 736000
				

WEEK(date)

Returns the week (of the year) associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT WEEK('02-17-2020 11:15:23');
				-- Result: 8
				

YEAR(date)

Returns the integer that specifies the year of the specified date.

  • date: The datetime string.

                      SELECT YEAR('2018-02-01');
                      -- Result: 2018
                    

CData Python Connector for Pipedrive

Date Literal Functions

The following date literal functions can be used to filter date fields using relative intervals. Note that while the <, >, and = operators are supported for these functions, <= and >= are not.

L_TODAY()

The current day.

  SELECT * FROM MyTable WHERE MyDateField = L_TODAY()

L_YESTERDAY()

The previous day.

  SELECT * FROM MyTable WHERE MyDateField = L_YESTERDAY()

L_TOMORROW()

The following day.

  SELECT * FROM MyTable WHERE MyDateField = L_TOMORROW()

L_LAST_WEEK()

Every day in the preceding week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_WEEK()

L_THIS_WEEK()

Every day in the current week.

  SELECT * FROM MyTable WHERE MyDateField = L_THIS_WEEK()

L_NEXT_WEEK()

Every day in the following week.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_WEEK()
Also available:
  • L_LAST/L_THIS/L_NEXT MONTH
  • L_LAST/L_THIS/L_NEXT QUARTER
  • L_LAST/L_THIS/L_NEXT YEAR

L_LAST_N_DAYS(n)

The previous n days, excluding the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_DAYS(3)

L_NEXT_N_DAYS(n)

The following n days, including the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_DAYS(3)
Also available:
  • L_LAST/L_NEXT_90_DAYS

L_LAST_N_WEEKS(n)

Every day in every week, starting n weeks before current week, and ending in the previous week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_WEEKS(3)

L_NEXT_N_WEEKS(n)

Every day in every week, starting the following week, and ending n weeks in the future.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_WEEKS(3)
Also available:
  • L_LAST/L_NEXT_N_MONTHS(n)
  • L_LAST/L_NEXT_N_QUARTERS(n)
  • L_LAST/L_NEXT_N_YEARS(n)

CData Python Connector for Pipedrive

SELECT Statements

A SELECT statement can consist of the following basic clauses.

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT Syntax

The following syntax diagram outlines the syntax supported by the SQL engine of the connector:

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [  
      INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } 
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [ 
    LIMIT <expression>
    [ 
      { OFFSET | , }
      <expression> 
    ]
  ] 
} | SCOPE_IDENTITY() 

<expression> ::=
  | <column_reference>
  | @ <parameter> 
  | ?
  | COUNT( * | { [ DISTINCT ] <expression> } )
  | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
  | NULLIF ( <expression> , <expression> ) 
  | COALESCE ( <expression> , ... ) 
  | CASE <expression>
      WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
    END 
  | {RANK() | DENSE_RANK()} OVER ([PARTITION BY <column_reference>] {ORDER BY <column_reference>})
  | <literal>
  | <sql_function> 

<search_condition> ::= 
  {
    <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN | IS DISTINCT FROM | IS NOT DISTINCT FROM } [ <expression> ]
  } [ { AND | OR } ... ] 

Examples

  1. Return all columns:
    SELECT * FROM Deals
  2. Rename a column:
    SELECT [UserEmail] AS MY_UserEmail FROM Deals
  3. Cast a column's data as a different data type:
    SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM Deals
  4. Search data:
    SELECT * FROM Deals WHERE UserName = 'Bob'
  5. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM Deals 
  6. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT UserEmail) FROM Deals 
  7. Return the unique items matching the query criteria:
    SELECT DISTINCT UserEmail FROM Deals 
  8. Sort a result set in ascending order:
    SELECT Id, UserEmail FROM Deals  ORDER BY UserEmail ASC
  9. Restrict a result set to the specified number of rows:
    SELECT Id, UserEmail FROM Deals LIMIT 10 
  10. Parameterize a query to pass in inputs at execution time. This enables you to create prepared statements and mitigate SQL injection attacks.
    SELECT * FROM Deals WHERE UserName = @param
See Explicitly Caching Data for information on using the SELECT statement in offline mode.

Pseudo Columns

Some input-only fields are available in SELECT statements. These fields, called pseudo columns, do not appear as regular columns in the results, yet may be specified as part of the WHERE clause. You can use pseudo columns to access additional features from Pipedrive.

    SELECT * FROM Deals WHERE Query = 'Value > 100'
    

Aggregate Functions

For SELECT examples using aggregate functions, see Aggregate Functions.

JOIN Queries

See JOIN Queries for SELECT query examples using JOINs.

Date Literal Functions

Date Literal Functions contains SELECT examples with date literal functions.

Window Functions

See Window Functions for SELECT examples containing window functions.

Table-Valued Functions

See Table-Valued Functions for SELECT examples with table-valued functions.

CData Python Connector for Pipedrive

Aggregate Functions

COUNT

Returns the number of rows matching the query criteria.

SELECT COUNT(*) FROM Deals WHERE UserName = 'Bob'

COUNT(DISTINCT)

Returns the number of distinct, non-null field values matching the query criteria.

SELECT COUNT(DISTINCT Id) AS DistinctValues FROM Deals WHERE UserName = 'Bob'

AVG

Returns the average of the column values.

SELECT UserEmail, AVG(AnnualRevenue) FROM Deals WHERE UserName = 'Bob'  GROUP BY UserEmail

MIN

Returns the minimum column value.

SELECT MIN(AnnualRevenue), UserEmail FROM Deals WHERE UserName = 'Bob' GROUP BY UserEmail

MAX

Returns the maximum column value.

SELECT UserEmail, MAX(AnnualRevenue) FROM Deals WHERE UserName = 'Bob' GROUP BY UserEmail

SUM

Returns the total sum of the column values.

SELECT SUM(AnnualRevenue) FROM Deals WHERE UserName = 'Bob'

CData Python Connector for Pipedrive

JOIN Queries

The CData Python Connector for Pipedrive supports standard SQL joins like the following examples.

Inner Join

An inner join selects only rows from both tables that match the join condition:

SELECT d.UserName, u.Email, u.Phone, u.LastLogin FROM Deals d INNER JOIN Users u ON d.UserId = u.Id

Left Join

A left join selects all rows in the FROM table and only matching rows in the JOIN table:

 SELECT d.UserName, u.Email, u.Phone, u.LastLogin FROM Deals d LEFT JOIN Users u ON d.UserId = u.Id

CData Python Connector for Pipedrive

Window Functions

Window functions allow you to create computed fields from a group of rows (a window) that return a result for each row, as opposed to one computed result for a set of rows, as is the case with aggregate functions. The connector supports the following window function syntax.

Note: Window function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with window functions may not be optimal.

Window Function Clauses

OVER

The OVER clause defines the window over which window functions are performed.

SELECT A, B, <window function> OVER (<window frame>) FROM TableName

The <window function> refers to any supported window function clause, and the <window frame> refers to one or more clauses that specify the logic by which the window is defined.

PARTITION BY

The PARTITION BY clause subdivides a window into sub-windows called partitions. For each unique value in the column specified in the PARTITION BY clause, every record with that value collectively forms an individual partition.

SELECT A, B, <window function> OVER (PARTITION BY A ORDER BY B) From Deals

The <window function> refers to any supported window function clause.

Window Functions

The connector supports math, ranking, and analytic window functions.

Math

These window functions perform mathematical operations on the records within the window.

COUNT()

Calculates the number of records in each partition. The calculated column is of the data type "int".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT() OVER (PARTITION BY Role) FROM Employees

COUNT_BIG()

Calculates the number of records in each partition. The calculated column is of the data type "bigint".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT_BIG() OVER (PARTITION BY Role) FROM Employees

MIN(numeric_column)

Calculates the minimum value of a numerical column per partition.

In each partition, every record will display the minimum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MIN(Earnings) OVER (PARTITION BY Role) FROM Employees

MAX(numeric_column)

Calculates the maximum value of a numerical column per partition.

In each partition, every record will display the maximum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MAX(Earnings) OVER (PARTITION BY Role) FROM Employees

SUM(numeric_column)

Calculates the sum of a numerical column per partition.

In each partition, every record will display the sum of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, SUM(Earnings) OVER (PARTITION BY Role) FROM Employees

AVG(numeric_column)

Calculates the average value of a numerical column per partition.

In each partition, every record will display the average value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, AVG(Earnings) OVER (PARTITION BY Role) FROM Employees

MEDIAN(numeric_column)

Calculates the median value of a numerical column per partition.

In each partition, every record will display the median value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MEDIAN(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEV(numeric_column)

Calculates the standard deviation of a numerical column per partition.

In each partition, every record will display the standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEV(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEVP(numeric_column)

Calculates the population standard deviation of a numerical column per partition.

In each partition, every record will display the population standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEVP(Earnings) OVER (PARTITION BY Role) FROM Employees

VAR(numeric_column)

Calculates the statistical standard variance of a numerical column per partition.

In each partition, every record will display the statistical standard variance of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VAR(Earnings) OVER (PARTITION BY Role) FROM Employees

VARP(numeric_column)

Calculates the variance population of a numerical column per partition.

In each partition, every record will display the variance population of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VARP(Earnings) OVER (PARTITION BY Role) FROM Employees

Ranking

These window functions rank records that fall within the window and its partitions.

RANK()

Assigns a rank number to each record in a window based on the value of the column specified in the required ORDER BY clause.

If two or more records have an equal value in the in ranked column, they all receive the same rank number and the rank count increments internally, skipping ahead one rank number for each record with a duplicate value in the ORDER BY column.

SELECT Id, UserEmail, RANK() OVER (ORDER BY UserEmail) AS Rank FROM Deals

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Id, UserEmail, RANK() OVER (PARTITION BY Id ORDER BY UserEmail) AS Rank FROM Deals

DENSE_RANK()

Operates like the RANK() function, but it doesn't increment the internal rank counter for each record with a duplicate value in the ranked column.

This means that, while records with identical values in the ORDER BY column still share a rank number, the function never skips a rank number.

SELECT Id, UserEmail, DENSE_RANK() OVER (PARTITION BY Id ORDER BY UserEmail) AS Rank FROM Deals

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Id, UserEmail, DENSE_RANK() OVER (PARTITION BY Id ORDER BY UserEmail) AS Rank FROM Deals

ROW_NUMBER()

Calculates a row number for each record. An ORDER BY clause in the OVER clause is required.

SELECT Name, Role, Earnings, ROW_NUMBER() OVER (ORDER BY Role) FROM Employees
If you define multiple partitions with PARTITION BY, a new set of row numbers are calculated for each partition.
SELECT Name, Role, Earnings, ROW_NUMBER() OVER (PARTITION BY Role ORDER BY Earnings) FROM Employees

NTILE()

Distributes rows of an ordered partition into a specified number of approximately equal groups, or buckets. It assigns each group a bucket number starting from one. For each row in a group, the NTILE() function assigns a bucket number representing the group to which the row belongs.

The syntax of NTILE() is:

NTILE(buckets) OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)
The following are paramaters that NTILE() supports:

  • buckets: The number of buckets into which the rows are divided. The buckets can be an expression or subquery that evaluates to a positive integer. It cannot be a window function.
  • PARTITION BY: distributes rows of a result set into partitions to which the NTILE() function is applied.
  • ORDER BY is clause that specifies the logical order of rows in each partition to which the NTILE() is applied.

If the number of rows is not divisible by the buckets, the NTILE() function returns groups of two sizes with the difference by one. The larger groups always precede the smaller group in the order set by ORDER BY in the OVER() clause.

If the total of rows is divisible by the number of buckets, the function divides the rows evenly among buckets. The following statement creates a new table named ntile_demo that stores 10 integers:

CREATE TABLE sales.ntile_demo (
	v INT NOT NULL
);
	
INSERT INTO sales.ntile_demo(v) 
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);	
	
SELECT * FROM sales.ntile_demo;
This statement uses the NTILE() function to divide ten rows into three groups:
SELECT 
	v, 
	NTILE (3) OVER (
		ORDER BY v
	) buckets
FROM 
	sales.ntile_demo;

Analytical

These window functions perform analytical operations on the records within the window.

PERCENT_RANK()

Calculates the relative rank SQL Percentile of each row. It returns values greater than zero, but the maximum value is one. It does not count any NULL values. This function is nondeterministic.

The syntax of PERCENT_RANK() is:

PERCENT_RANK() OVER (
      [PARTITION BY partition_expression, ... ]
      ORDER BY sort_expression [ASC | DESC], ...
  )
  
This syntax uses the following parameters.

  • PARTITION BY: By default, SQL Server treats the whole data set as a single set. You can specify the PARTITION BY clause to divide data into multiple sets. The Percent_Rank function performs the analytical calculations on each set. This parameter is optional.
  • ORDER BY: Sorts the data in either ascending or descending order. This parameter is required.

CData Python Connector for Pipedrive

Table-Valued Functions

Table-valued functions are functions that return a table (rowset).

Note: Table-valued function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with these functions may not be optimal.

Table-Valued Function Clauses

CROSS APPLY

The CROSS APPLY operator is used to perform a subquery on each row of a table or resultset produced by a preceding table expression.

<table_expression_1> CROSS APPLY <table_expression_2>

The second table expression can reference results from the first table expression to create derived columns or an altered recordset via a table-valued function.

Each resulting record is an instance of the record it's splitting, with all the same column values, except for the column(s) containing the value split by the function.

WITH

The WITH clause is used alongside certain table-valued functions to match against constructs within the structure being split (keys, element names, attribute names, etc.) and/or to specify metadata for the columns generated from the function.
SELECT A.ColumnName, X.DerivedColumnName FROM TableName A CROSS APPLY <table-valued function> WITH (DerivedColumnName varchar(255)) AS X

Table-Valued Functions

STRING_SPLIT(input_text,delimiter)

Takes each record in the recordset of the preceding table expression, splits the column containing delimiters (input_text) into substrings separated by the delimiter, and returns one record per substring.

  • input_text: A column whose value you want to parse.
  • delimiter: The character used to split the value of the column specified in input_text.

Suppose there is a column called "SplitColumn" with the following content:

One-Two-Three
To unpack this value across multiple records:
SELECT A.ID, X.Value FROM [TableWithDelimitedStringField] A CROSS APPLY STRING_SPLIT(A.SplitColumn,'-') WITH (Value VARCHAR(255)) AS X

-- Results:
-----------
|ID|Value|
|1|One|
|1|Two|
|1|Three|

JSONTABLE(json_content,[jsonpath])

For each record in the recordset of the preceding table expression, returns one record for each instance of a key in a JSON array (json_content) that matches the key(s) specified in the WITH clause, at the scope specified by the "jsonpath" input.

  • json_content: A JSON "table" (array of objects). The contents can nest, but this must be a single JSON array, not any other JSON structure, at the root level.
    • The values of every instance of the key(s) provided in the WITH clause are retrievable only for substructures which are immediate children of the root-level JSON array.
  • jsonpath: An optional JSONPath query defining the scope, within the json_content array, that you want to pull content from. The JSON key(s) identified in the WITH clause must exist at the scope defined in this parameter. This defaults to the JSON root ($).

Consider a sample table with a single record, including an ID column and column with JSON content called "JSONColumn" with the following content:

[
	{
		"name": "Samuel",
		"email": "sam@gmail.com",
		"extrainfo": {
			"city": "Seattle"
		}
	},
	{
		"name": "Katherine",
		"email": "kat@gmail.com",
	},
	{
		"name": "George",
		"email": "george23@gmail.com",
	},
	{
		"name": "Carlos",
		"email": "carlos32@gmail.com",
	}
]

To extract all values for a certain key, specify the scope in the JSONTABLE function and provide the desired key(s) in the WITH clause.

SELECT A.ID, X.name FROM [TableWithJSONField] A CROSS APPLY JSONTABLE(A.JSONColumn) WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1 |Samuel|
|1 |Katherine|
|1 |George|
|1 |Carlos|

XMLTABLE(xml_content,[xpath,child_type])

For each record in the resultset of the preceding table expression, returns one record for each of the elements and/or attributes in an XML structure (xml_content) that match the tag name(s) and/or attribute name(s) specified in the WITH clause, at the scope specified in the "xpath" input.

  • xml_content: A column containing an XML structure.
  • xpath: An optional XPath that specifies the scope within the XML structure at which the connector extracts content matching the tag/attribute name(s) specified in the WITH clause.
    • When extracting the content of sub-elements, the connector can retrieve all content from tags at the root level, (depth 0) immediate children of the root (depth 1), and children of those children (depth 2).
    • When extracting element attribute content, the connector can retrieve all content from tags containing the specified attribute at the root level (depth 0) and from immediate children of root-level elements (depth 1).
  • child_type: An optional parameter that specifies the part(s) of the parent element (specified in the xpath input) that the column(s) provided in the WITH clause are checked against to identify content.
    • You can supply the following values:
      • 0: The column(s) in the WITH clause are checked for matches against the parent element's attribute names and sub-element tag names.
      • 1: The column(s) in the WITH clause are checked for matches against the parent element's attribute names.
      • 2: The column(s) in the WITH clause are checked for matches against the parent element's sub-element tag names.
    • When not supplied, this defaults to 0.

Extracting Sub-Element Values

Consider a sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:
<shoppingList>
    <item>
        <name>Apples</name>
        <quantity>3</quantity>
        <unit>Kg</unit>
    </item>
    <item>
        <name>Bread</name>
        <quantity>2</quantity>
        <unit>Loaf</unit>
		<extrainfo>
			<Type>Whole-Grain</Type>
		</extrainfo>
    </item>
    <item>
        <name>Milk</name>
        <quantity>1</quantity>
        <unit>Carton</unit>
    </item>
    <item>
        <name>Eggs</name>
        <quantity>12</quantity>
        <unit></unit>
    </item>
</shoppingList>

To extract sub-element content, specify the scope in the XMLTABLE function and provide the desired element name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 1.

SELECT A.ID, X.name FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/item') WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1|Apples|
|1|Bread|
|1|Milk|
|1|Eggs|

Extracting Values Using Element Tag Attributes

Suppose you have this sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:

<restaurant>
  <dish type="appetizer">
    <name lang="en">Caprese Salad</name>
    <chef>Chef Giovanni</chef>
    <price currency="USD">9.99</price>
  </dish>
  <dish type="main-course">
    <name lang="fr">Boeuf Bourguignon</name>
    <chef>Chef Marie</chef>
    <price currency="EUR">19.99</price>
  </dish>
  <dish type="dessert">
    <name lang="es">Tres Leches Cake</name>
    <chef>Chef Alejandro</chef>
    <price currency="MXN">89.99</price>
  </dish>
</restaurant>

To extract attribute content, specify the scope in the XMLTABLE function and provide the desired attribute name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 2.

SELECT A.ID, X.type FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/dish') WITH (type VARCHAR(255)) AS X

-- Results: 
|ID|type|
---------
|1|appetizer|
|1|main-course|
|1|dessert|

CSVTABLE(csv_content,[delimiter])

For each record in the resultset of the preceding table expression, reads from a column that contains a CSV table (csv_content) and for each record in that CSV table, returns one record containing the value of the CSV column(s) specified in the WITH clause.

  • csv_content: A column containing a CSV table.
  • delimiter: An optional custom delimiter (instead of a comma) which splits the CSV content contained in the csv_content input.

Consider a sample table with a single record, including an ID column and a column containing CSV table called "CSVContent" with the following content:

Name;Category;Price
Apple;Fruit;0.99
Spaghetti;Pasta;5.49
Chicken Breast;Meat;8.99
Broccoli;Vegetable;2.49

To select every value in the "Name" column and account for the custom delimiter (;):

SELECT A.ID, X.Name FROM [TableWithCSVField] A CROSS APPLY CSVTABLE(A.CSVContent,';') WITH (Name VARCHAR(255)) AS X

-- Results:
|ID|Name|
-----------
|1|Apple|
|1|Spaghetti|
|1|Chicken Breast|
|1|Broccoli|

CData Python Connector for Pipedrive

INSERT Statements

To create new records, use INSERT statements.

INSERT Syntax

The INSERT statement specifies the columns to be inserted and the new column values. You can specify the column values in a comma-separated list in the VALUES clause, as shown in the following example:

INSERT INTO <table_name> 
( <column_reference> [ , ... ] )
VALUES 
( { <expression> | NULL } [ , ... ] ) 
  

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
The following is an example query:
INSERT INTO Deals (UserEmail) VALUES ('John')

CData Python Connector for Pipedrive

UPDATE Statements

To modify existing records, use UPDATE statements.

Update Syntax

The UPDATE statement takes as input a comma-separated list of columns and new column values as name-value pairs in the SET clause, as shown in the following example:

UPDATE <table_name> SET <select_statement> | {<column_reference> = <expression> [ , ... ]} WHERE { Id = <expression>  } [ { AND | OR } ... ] 

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

UPDATE Deals SET UserEmail='John' WHERE Id = @myId

CData Python Connector for Pipedrive

DELETE Statements

To delete information from a table, use DELETE statements.

DELETE Syntax

The DELETE statement requires the table name in the FROM clause and the row's primary key in the WHERE clause, as shown in the following example:

<delete_statement> ::= DELETE FROM <table_name> WHERE { Id = <expression> } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

DELETE FROM Deals WHERE Id = @myId

CData Python Connector for Pipedrive

CACHE Statements

When caching is enabled, CACHE statements provide complete control over the data that is cached and the table to which it is cached. The CACHE statement executes the SELECT statement specified and caches its results to a table with the same name in the cache database or to table specified in <cached_table_name>. The connector updates or inserts rows to the cache depending on whether or not they already exist in the cache, so the primary key, which is used to identify existing rows, must be included in the selected columns.

See Caching Data for more information on different caching strategies.

CACHE Statement Syntax

The cache statement may include the following options that alter its behavior:

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

If this option is set, the connector removes existing rows in the cache table before adding the selected rows. Use this option if you want to refresh the entire cache table but keep its existing schema.

AUTOCOMMIT

If this option is set, the connector commits each row individually. Use this option if you want to ignore the rows that could not be cached due to some reason. By default, the entire result set is cached as a single transaction.

DROP EXISTING

If this option is set, the connector drops the existing cache table before caching the new results. Use this option if you want to refresh the entire cache table, including its schema.

SCHEMA ONLY

If this option is set, the connector creates the cache table based on the SELECT statement without executing the query.

ALTER SCHEMA

If this option is set, the connector alters the schema of the existing table in the cache if it does not match the schema of the SELECT statement. This option results in new columns or dropped columns, if the schema of the SELECT statement does not match the cached table.

Common Queries

Use the following cache statement to cache all rows of a table:

CACHE SELECT * FROM Deals

Use the following cache statement to cache all rows of a table into the cache table CachedDeals:

CACHE CachedDeals SELECT * FROM Deals

Use the following cache statement for incremental caching. The DateModified column may not exist in all tables. The cache statement shows how incremental caching would work if there were such a column. Also, notice that, in this case, the WITH TRUNCATE and DROP EXISTING options are specifically omitted, which would have deleted all existing rows.

CACHE CachedDeals SELECT * FROM Deals WHERE DateModified > '2013-04-04'

Use the following cache statements to create a table with all available columns that will then cache only a few of them. The sequence of statements cache only Id and UserEmail even though the cache table CachedDeals has all the columns in Deals.

CACHE CachedDeals SCHEMA ONLY SELECT * FROM Deals
CACHE CachedDeals SELECT Id, UserEmail FROM Deals

CData Python Connector for Pipedrive

EXECUTE Statements

To execute stored procedures, you can use EXECUTE or EXEC statements.

EXEC and EXECUTE assign stored procedure inputs, referenced by name, to values or parameter names.

Stored Procedure Syntax

To execute a stored procedure as an SQL statement, use the following syntax:

 
{ EXECUTE | EXEC } <stored_proc_name> 
{
  [ @ ] <input_name> = <expression>
} [ , ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

Example Statements

Reference stored procedure inputs by name:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

Execute a parameterized stored procedure statement:

EXECUTE my_proc second = @p1, first = @p2, third = @p3; 

CData Python Connector for Pipedrive

PIVOT and UNPIVOT

PIVOT and UNPIVOT can be used to change a table-valued expression into another table.

PIVOT

PIVOT rotates a table-value expression by turning unique values from one column into multiple columns in the output. PIVOT can run aggregations where required on any column value.
PIVOT Synax

 
"SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]
FROM
(
SELECT DaysToManufacture, StandardCost
FROM Production.Product
) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;"

UNPIVOT

UNPIVOT carries out nearly the opposite to PIVOT by rotating columns of a table-valued expressions into column values.
UNPIVOT Sytax

 
"SELECT VendorID, Employee, Orders
FROM
(SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
FROM pvt) p
UNPIVOT
(Orders FOR Employee IN
(Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;"

For further information on PIVOT and UNPIVOT, see FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL)

CData Python Connector for Pipedrive

DELETE SELECT Statements

To perform multiple deletes in a single request to Pipedrive, first use the INSERT INTO syntax to create an in-memory temporary table of data to be deleted. Once you have all of the data you want to delete added to temporary table, use DELETE FROM syntax to delete data from the live table in Pipedrive. This functionality is also available via the standard Batch Processing API available in JDBC.

Populate the Temporary Table

The temporary table you are populating is dynamic and is created at run time the first time you insert to it. Temporary tables are denoted by a # appearing in their name. When using a temporary table to delete, the temporary table must be named in the format [TableName]#TEMP, where TableName is the name of the table you are inserting to. For example:

INSERT INTO Deals#TEMP (Id) VALUES ('AX1000001');
INSERT INTO Deals#TEMP (Id) VALUES ('AX1000002');
INSERT INTO Deals#TEMP (Id) VALUES ('AX1000003');

This creates a temporary table called Deals#TEMP with one column and three rows of data. Since type cannot be determined on the temporary table itself, all values are stored in memory as strings. They are later converted to the proper type when they are submitted to the Deals table.

Delete from the Actual Table

Once your temporary table is populated, it is now time to insert to the actual table in Pipedrive. You can do this by performing a DELETE from the actual table and selecting the input data from the temporary table. For example:

DELETE FROM Deals WHERE EXISTS SELECT Id FROM Deals#TEMP

In this example, the full contents of the Deals#TEMP table are passed into the Deals table. This results in fewer requests being submitted to Pipedrive since multiple deletes may be submitted with each request, which is much better for performance if you have many records to delete.

Results

The results of the query are stored in the LastResultInfo#TEMP temporary table. This table is cleared and repopulated the next time data is modified by passing in a temporary table. Please be aware that the LastResultInfo#TEMP table has no predefined schema. You need to check its metadata at run time before reading data.

Temporary Table Life Span

Temporary tables only last as long as the connection remains opened. When the connection to Pipedrive is closed, all temporary tables are cleared, including the LastResultInfo#TEMP table.

CData Python Connector for Pipedrive

Data Model

Using Pipedrive V1 API

See Pipedrive Data Model for the available entities in the Pipedrive Data Model.

Using Pipedrive V2 API

See PipedriveV2 Data Model for the available entities in the PipedriveV2 Data Model.

CData Python Connector for Pipedrive

Pipedrive Data Model

Overview

This section shows the available API objects and provides more information on executing SQL to Pipedrive APIs.

Key Features

  • The connector models Pipedrive entities like activities, leads, and products as relational tables, allowing you to write SQL to query and modify Pipedrive data.
  • Stored procedures allow you to execute operations to Pipedrive
  • Live connectivity to these objects means any changes to your Pipedrive account are immediately reflected when using the connector.

    Additionally, the Pipedrive API limits the number and combinations of columns that can be projected over the data or used to restrict the results returned.

CData Python Connector for Pipedrive

Tables

The connector models the data in Pipedrive as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for Pipedrive Tables

Name Description
Activities [DEPRICATED endpoint, use Activities in PipedriveV2 instead.]Returns all activities assigned to a user, including scheduled calls, meetings, tasks, and their associated deals, persons, and organizations.
ActivityTypes Returns all activity types defined in the Pipedrive account, including built-in and custom types.
CallLogs Returns all call logs assigned to a particular user.
DealFields Returns data about all deal fields.
Deals [DEPRICATED endpoint, use Deals in PipedriveV2 instead.] Get all deals.
DealsFollowers Returns the users who follow a specific deal, along with the date each follower was added.
DealsParticipants Returns the persons participating in a specific deal, along with their contact details and relationship data.
DealsProducts Returns all products attached to deals, including pricing, quantity, discount, and product catalog details. Supports insert, update, and delete operations.
Files Returns all files attached to deals, persons, organizations, products, leads, or activities in the Pipedrive account.
Filters Returns all saved filters defined in the Pipedrive account, including their type, ownership, and visibility settings.
Goals Returns goals defined in the Pipedrive account, including their type, assignee, tracking metric, expected outcome, and active duration.
LeadLabels Returns all lead labels used for organizing and categorizing leads.
Leads Returns all leads in the Pipedrive account, including their associated person, organization, labels, and value details.
MailThreads Returns mail threads from the connected mail account, ordered by the most recent message, and supports updating read status and deleting threads.
NoteComments Returns comments associated with a specific note, and supports creating, updating, and deleting those comments.
Notes Returns all notes associated with deals, persons, organizations, and leads, including content, pinning state, and authorship details.
OrganizationFields Returns data about all organization fields, including built-in and custom field definitions.
OrganizationRelationships Returns relationship records between organizations, including parent-child and related-organization associations.
Organizations [DEPRICATED endpoint, use Organizations in PipedriveV2 instead.] Get details of organizations.
OrganizationsFollowers Returns the list of followers for a specified organization, including each follower's user ID and the timestamp when the follower was added.
PersonFields Returns data about all person fields.
PersonFollowers Returns the list of followers for a specified person, including follower user IDs, associated deal IDs, and the timestamp when each follower was added.
Persons [DEPRICATED endpoint, use Persons in PipedriveV2 instead.] Get all details of persons.
Pipelines [DEPRICATED endpoint, use Pipelines in PipedriveV2 instead.] Returns all sales pipelines, including their names, ordering, deal probability settings, and active status.
ProductFields Returns data about all product fields.
Products [DEPRICATED endpoint, use Products in PipedriveV2 instead.] Get details of Products.
ProductsFollowers Returns the users who are following a specific product in Pipedrive, and supports adding and removing followers.
Projects Returns all projects, including their status, assigned board and phase, linked deals and organizations, and timeline dates.
Roles Returns all roles defined in the account, including their hierarchy level, assignment counts, and parent-child relationships.
RolesAssignments List assignments for a role.
RolesSetting Returns all the roles settings.
Tasks Returns all tasks within projects, including completion status, due dates, assignees, and parent-child task relationships.
Users Returns data about all users within the company, including their account status, contact details, role assignments, and access settings.

CData Python Connector for Pipedrive

Activities

[DEPRICATED endpoint, use Activities in PipedriveV2 instead.]Returns all activities assigned to a user, including scheduled calls, meetings, tasks, and their associated deals, persons, and organizations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Done=
Type=, IN
UserId=
FilterId=
StartDate=
EndDate=

For example, the following queries are processed server-side:

SELECT * FROM Activities WHERE Id = 246

SELECT * FROM Activities WHERE Done = 0

SELECT * FROM  Activities WHERE Type IN ('deadline', 'call')

SELECT * FROM  Activities WHERE EndDate = '2021-12-24'
 
SELECT * FROM  Activities WHERE UserId = 8230170

INSERT

Columns that are not read-only can be inserted. The following example shows how to insert into these tables and how to insert attendee data using a temporary table.

INSERT INTO ActivitiesAttendees#TEMP (EmailAddress) VALUES ('blaineh@cdata.com')
INSERT INTO Activities (DueDate, DueTime, Duration, DealId, Attendees) VALUES ('1994-10-12', '10:20', '02:00', 1, 'ActivitiesAttendees#TEMP')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Activities SET DealId = 2 WHERE Id = 245

DELETE

Execute DELETE specifying the Id in the WHERE clause. For example:

DELETE FROM Activities WHERE Id = 246

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Activity Id.

ActiveFlag Boolean True

Indicates whether the activity is currently active.

AddTime Datetime True

Date and time when the activity was created.

AssignedToUserId Integer True

Unique identifier of the user the activity is assigned to.

Attendees String False

Attendees of the Activity This can be either your existing Pipedrive contacts or an external email address.

BusyFlag Boolean False

Set the Activity as Busy or Free.

The allowed values are true, false.

The default value is true.

CalendarSync String True

Context data included when the activity is synced to an external calendar.

CompanyId Integer True

Unique identifier of the company account this activity belongs to.

MeetingClient String True

Name of the video conferencing client used for the activity, for example Google Meet or Zoom.

MeetingId String True

Unique identifier of the video conference meeting linked to the activity.

MeetingUrl String True

URL to join the video conference meeting linked to the activity.

CreatedByUserId Integer True

Unique identifier of the user who created the activity.

DealDropboxBcc String True

BCC email address for the deal associated with this activity, used to log emails to the deal record.

DealId Integer False

Deals.Id

The ID of the Deal this Activity is associated with.

DealTitle String True

Title of the deal associated with the activity.

Done Boolean False

Whether the Activity is done or not 0 = Not done 1 = Done If omitted returns both Done and Not done activities.

The allowed values are 0, 1.

DueDate Date False

Due date of the Activity Format YYYY-MM-DD

DueTime Time False

Due time of the Activity in UTC Format HH:MM

Duration Time False

Duration of the Activity Format HH:MM

FileCleanName String True

Display name of the file attached to the activity, with special characters removed.

FileId String True

Files.Id

Unique identifier of the file attached to the activity.

FileUrl String True

Download URL of the file attached to the activity.

GcalEventId String True

Unique identifier of the Google Calendar event linked to this activity.

GoogleCalendarEtag String True

ETag of the Google Calendar event, used to detect changes during synchronization.

GoogleCalendarId String True

Unique identifier of the Google Calendar where this activity is synced.

LastNotificationTime Datetime True

Date and time when the last reminder notification was sent for this activity.

LastNotificationUserId Integer True

Unique identifier of the user who received the last reminder notification for this activity.

LeadId String False

Leads.Id

Unique identifier of the lead this activity is associated with.

Location String False

The address of the Activity.

AdminAreaLevel1 String True

First-level administrative area (for example, state or province) of the activity location.

AdminAreaLevel2 String True

Second-level administrative area (for example, county or district) of the activity location.

LocationCountry String True

Country component of the activity location address.

FormattedAddress String True

Complete formatted address of the activity location as returned by the geocoding service.

LocationLat Double True

Latitude coordinate of the activity location.

LocationLocality String True

City or locality component of the activity location address.

LocationLong Double True

Longitude coordinate of the activity location.

PostalCode String True

Postal or ZIP code component of the activity location address.

LocationRoute String True

Street name (route) component of the activity location address.

StreetNumber String True

Street number component of the activity location address.

Sublocality String True

Sublocality (for example, neighborhood or borough) component of the activity location address.

Subpremise String True

Subpremise (for example, suite or unit number) component of the activity location address.

MarkedAsDoneTime Datetime True

Date and time when the activity was marked as done.

Note String False

Note of the Activity HTML format.

NotificationLanguageId Integer True

Language identifier used for sending notifications related to this activity.

OrgId Integer False

The ID of the Organization this Activity is associated with.

OrgName String True

Name of the organization this activity is associated with.

OwnerName String True

Full name of the user who owns the activity.

Participants String False

List of multiple Persons participants this Activity is associated with If omitted single participant from person_id field is used.

PersonDropboxBcc String True

BCC email address for the person associated with this activity, used to log emails to their record.

PersonId Integer False

Persons.Id

The ID of the Person this Activity is associated with.

PersonName String True

Full name of the person this activity is associated with.

PublicDescription String False

Additional details about the Activity that is synced to your external calendar Unlike the note added to the Activity the description is publicly visible to any guests added to the Activity.

RecMasterActivityId String True

Unique identifier of the master recurring activity this instance belongs to.

RecRule String True

Recurrence rule defining the schedule pattern for repeating activities, in iCalendar RRULE format.

RecRuleExtension String True

Extended recurrence rule data for recurring activities, supplementing the primary recurrence rule.

ReferenceId Integer True

Unique identifier of the external reference object linked to this activity.

ReferenceType String True

Type of the external reference object linked to this activity, for example deal or person.

Series String True

Series data for recurring activities, describing how the instances relate to each other.

SourceTimezone String True

Timezone identifier of the source system where the activity was originally created.

Subject String False

Subject of the Activity.

The default value is Call.

Type String False

Type of the Activity This is in correlation with the key_string parameter of ActivityTypes When value for type is not set, it will be given a default value Call.

The default value is Call.

UpdateTime Datetime True

Date and time when the activity was last updated.

UpdateUserId Integer True

The ID of the User whose Activities will be fetched If omitted the User associated with the API token will be used If 0 Activities for all company Users will be fetched based on the permission sets.

UserId Integer False

Users.Id

Unique identifier of the user the activity belongs to. Filters activities returned by this user.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

The ID of the Filter to use.

StartDate String

Use the Activity due date where you wish to begin fetching Activities from Insert due date in YYYY-MM-DD format.

EndDate String

Use the Activity due date where you wish to stop fetching Activities from Insert due date in YYYY-MM-DD format.

CData Python Connector for Pipedrive

ActivityTypes

Returns all activity types defined in the Pipedrive account, including built-in and custom types.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Activities WHERE Id = 9

The rest of the filter is executed client-side within the connector.

INSERT

To execute an INSERT query, specify the Name and IconKey columns. You can also insert any optional columns.

For example:

INSERT INTO ActivityTypes (Color, IconKey, Name) VALUES ('black', 'sound', 'pvnactivity');

UPDATE

To execute an UPDATE query, specify the Id in the WHERE clause. You can update any columns that are not read-only.

For example:

UPDATE ActivityTypes SET IconKey = 'email' WHERE Id = 7

DELETE

To execute a DELETE, specify the Id in the WHERE clause.

For example:

DELETE FROM ActivityTypes WHERE Id = 2

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the activity type.

ActiveFlag Boolean True

Indicates whether this activity type is active. When true, the type appears in activity type selection lists.

AddTime Datetime True

The date and time when this activity type was created.

Color String False

The color assigned to this activity type, expressed as a hexadecimal color code.

IconKey String False

The icon identifier that visually represents this activity type in the Pipedrive interface.

The allowed values are task, email, meeting, deadline, call, lunch, calendar, downarrow, document, smartphone, camera, scissors, cogs, bubble, uparrow, checkbox, signpost, shuffle, addressbook, linegraph, picture, car, world, search, clip, sound, brush, key, padlock, pricetag, suitcase, finish, plane, loop, wifi, truck, cart, bulb, bell, presentation.

IsCustomFlag Boolean True

Indicates whether this activity type was created by a user rather than being a Pipedrive built-in type.

KeyString String True

The unique string key that identifies this activity type in API requests and filter parameters.

Name String False

The display name of the activity type.

OrderNr Integer False

The sort order position of this activity type within activity type selection lists.

UpdateTime Datetime True

The date and time when this activity type was last modified.

CData Python Connector for Pipedrive

CallLogs

Returns all call logs assigned to a particular user.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM CallLogs WHERE Id = 'cf75de9e4cbcb4a33658ad40561e3230'                

INSERT

Execute INSERT by specifying the Outcome, ToPhoneNumber, StartTime, and EndTime columns. You can also insert any columns that are not required.

INSERT INTO CallLogs (Outcome, StartTime, EndTime, Duration, FromPhoneNumber, ToPhoneNumber, UserId, OrgId) VALUES ('connected', '2021-12-15', '2021-12-16', '140', '984656646', '9846566456', '8230170', '6')

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM CallLogs WHERE Id = '8381cea5da671fa16a1eb63af15e5ec4'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the call log entry.

ActivityId Integer False

The ID of the activity this call log is linked to.

CompanyId Integer True

The ID of the company account this call log belongs to.

DealId Integer False

The ID of the Deal this call is associated with.

Duration String False

Call duration in seconds.

EndTime Datetime False

The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS

FromPhoneNumber String False

The number that made the call.

HasRecording Boolean True

Indicates whether a recording of this call is available.

Note String False

Note for the call log in HTML format.

OrgId Integer False

The ID of the Organization this call is associated with.

Outcome String False

Describes the outcome of the call.

The allowed values are connected, no_answer, left_message, left_voicemail, wrong_number, busy.

PersonId Integer False

The ID of the Person this call is associated with.

StartTime Datetime False

The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS

Subject String False

Name of the activity this call is attached to.

ToPhoneNumber String False

The number called.

UserId Integer False

The ID of the owner of the call log.

LeadId String False

The ID of the lead the call log is associated with in UUID format.

CData Python Connector for Pipedrive

DealFields

Returns data about all deal fields.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM DealFields WHERE Id = 12478                  

INSERT

Execute INSERT by specifying the Name and IconKey columns. You can also insert any columns that are not required. For example:

INSERT INTO DealFields (Name, AddVisibleFlag, FieldType) VALUES ('test43', 'false', 'address')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE DealFields SET Name = 'test44' WHERE Id = '12500'

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM DealFields WHERE Id = 12500

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the field.

ActiveFlag Boolean True

Whether the field is available in 'add new' modal or not (both in web and mobile app).

The default value is true.

AddTime Datetime True

The date and time when the field was created.

AddVisibleFlag Boolean False

Whether the field is shown in the 'Add Deal' dialog in the Pipedrive web and mobile applications.

BulkEditAllowed Boolean True

Whether the field can be edited in bulk operations.

DetailsVisibleFlag Boolean True

Whether the field is visible on the deal detail view.

EditFlag Boolean True

Whether the field can be edited by the current user.

FieldType String False

Type of the field.

The allowed values are address, date, daterange, double, enum, monetary, org, people, phone, set, text, time, timerange, user, varchar, varchar_auto, visible_to.

FilteringAllowed Boolean True

Whether the field can be used as a filter condition in deal list views.

ImportantFlag Boolean True

Whether the field is marked as important and highlighted in the deal detail view.

IndexVisibleFlag Boolean True

Whether the field is visible in the deal list view.

Key [KEY] String True

The unique machine-readable key that identifies the field within the Pipedrive API.

LastUpdatedByUserId String True

The ID of the user who last modified the field definition.

MandatoryFlag Boolean True

Whether the field is required when creating or updating a deal.

Name String False

Name of the field.

Options String False

The list of selectable options available for enum or set type fields.

OrderNr Integer True

The display order number of the field relative to other fields in the deal detail view.

SearchableFlag Boolean True

Whether the field is included in global search results within Pipedrive.

SortableFlag Boolean True

Whether the deal list view can be sorted by this field.

UpdateTime Datetime True

The date and time when the field definition was last modified.

CData Python Connector for Pipedrive

Deals

[DEPRICATED endpoint, use Deals in PipedriveV2 instead.] Get all deals.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
StageId=
Status=
FilterId=
UserId=
OwnedByYou=

For example, the following queries are processed server-side:

SELECT * FROM Deals WHERE Id = 14

SELECT * FROM Deals WHERE StageId = 1

SELECT * FROM Deals WHERE  Status = 'Open'

SELECT * FROM Deals WHERE FilterId = 1       

SELECT * FROM Deals WHERE OwnedByYou = 1                

INSERT

Execute INSERT by specifying the Title and PersonId columns. You can insert any columns that are not read-only. For example:

INSERT INTO Deals (Title, PersonId) VALUES ('tetsptest', 6203)

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Deals SET Title = 'test' WHERE id = 15

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Deals WHERE Id = 15

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Deals id.

Active Boolean True

Active.

ActivitiesCount Integer True

Activities Count.

AddTime Datetime False

AddTime.

CcEmail String True

Cc Email.

CloseTime String False

Close Time.

CreatorActiveFlag Boolean True

Creator ActiveFlag.

CreatorEmail String True

Creator Email.

CreatorHasPic Boolean True

Creator HasPic.

CreatorId Integer True

Creator Id.

CreatorName String True

Creator Name.

CreatorPicHash String True

CreatorPicHash.

Creatorvalue Integer True

Creatorvalue.

Currency String False

Currency.

CustomFields String True

CustomFields you will get the result of this column only when criteria filter title is used.

Deleted Boolean True

Deleted.

DoneActivitiesCount Integer True

Done Activities Count.

EmailMessagesCount Integer True

Email Messages Count.

ExpectedCloseDate Date False

Expected Close Date.

FilesCount Integer True

Files Count.

FirstWonTime Datetime True

First Won Time.

FollowersCount Integer True

Followers Count.

FormattedValue String True

Formatted Value.

FormattedWeightedValue String True

Formatted Weighted Value.

Label String False

Label.

LastActivityDate String True

Last Activity Date.

LastActivityId String True

Last Activity Id.

LastIncomingMailTime Datetime True

Last Incoming MailTime.

LastOutgoingMailTime Datetime True

Last OutgoingMail Time.

LostReason String False

Lost Reason.

LostTime String False

Lost Time.

NextActivityDate Date True

Next Activity Date.

NextActivityDuration Time True

Next Activity Duration.

NextActivityId Integer True

Next Activity Id.

NextActivityNote String True

Next Activity Note.

NextActivitySubject String True

Next Activity Subject.

NextActivityTime Time True

Next Activity Time.

NextActivityType String True

Next Activity Type.

NotesCount Integer True

NotesCount.

Notes String True

Notes.

OrgHidden Boolean True

Org Hidden.

OrgActiveFlag Boolean True

Org ActiveFlag.

OrgAddress String True

Org Address.

OrgCcEmail String True

Org CcEmail.

OrgName String True

Org Name.

OrgOwnerId Integer True

Org OwnerId.

OrgPeopleCount Integer True

Org PeopleCount.

OrgValue Integer True

Org Value.

OwnerName String True

Owner Name.

OwnerId String True

Owner Id you will get the result of this column only when criteria filter title is used.

ParticipantsCount Integer True

Participants Count.

PersonHidden Boolean True

Person Hidden.

PersonActiveFlag Boolean True

Person Active Flag.

PersonEmail String True

Person Email.

PersonName String True

Person Name.

PersonPhone String True

Person Phone.

Personvalue Integer True

Personvalue.

PipelineId Integer False

PipelineId.

Probability Integer False

Probability.

ProductsCount Integer True

Products Count.

RottenTime String True

RottenTime.

ResultScore String True

Result score you will get the result of this column only when criteria filter title is used.

StageChangeTime Datetime True

Stage Change Time.

StageId Integer False

StageId.

StageName String True

StageName.

StageOrderNr Integer True

Stage OrderNr.

Status String False

Status.

The allowed values are open, won, lost, deleted, all_not_deleted.

The default value is all_not_deleted.

Title String False

Title.

Type String True

Type you will get the result of this column only when criteria filter title is used.

UndoneActivitiesCount Integer True

Undone Activities Count.

UpdateTime Datetime True

Update Time.

UserActiveFlag Boolean True

User ActiveFlag.

UserEmail String True

User Email.

UserHasPic Boolean True

User HasPic.

UserId Integer False

User Id.

UserName String True

User Name.

UserPicHash String True

User PicHash.

Uservalue Integer True

User value.

Value Integer False

Value of the deal.

The default value is 0.

VisibleTo String False

Visibility of the deal.

The allowed values are 1, 3, 5, 7.

WeightedValue Integer True

Visible To.

WeightedValueCurrency String True

Weighted Value Currency.

OrderOfStages Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWonY Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWonM Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWond Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWonh Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWons Integer True

You will get the result of this column only when criteria filter id is used.

AverageTimeToWoni Integer True

You will get the result of this column only when criteria filter id is used.

AverageTotalSeconds Integer True

You will get the result of this column only when criteria filter id is used.

AverageStageProgress Integer True

You will get the result of this column only when criteria filter id is used.

AgeY Integer True

You will get the result of this column only when criteria filter id is used.

AgeM Integer True

You will get the result of this column only when criteria filter id is used.

Aged Integer True

You will get the result of this column only when criteria filter id is used.

Ageh Integer True

You will get the result of this column only when criteria filter id is used.

Ages Integer True

You will get the result of this column only when criteria filter id is used.

Agei Integer True

You will get the result of this column only when criteria filter id is used.

AgeTotalSeconds Integer True

You will get the result of this column only when criteria filter id is used.

WonTime Datetime False

Won time.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

Filter Id

OwnedByYou Integer

Owned By You

The allowed values are 0, 1.

PersonId Integer

Person Id. Only used when performing INSERT or UPDATE operation.

OrgId Integer

Org Id. Only used when performing INSERT or UPDATE operation.

CData Python Connector for Pipedrive

DealsFollowers

Returns the users who follow a specific deal, along with the date each follower was added.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

    SELECT * FROM DealsFollowers WHERE Id = 2                 

INSERT

Execute INSERT by specifying the Name and IconKey columns. You can also insert any optional columns. For example:

INSERT INTO DealsFollowers (UserId, Id) VALUES (8230170, 8)

DELETE

Execute DELETE by specifying the Id and DealId in the WHERE clause. For example:

DELETE FROM DealsFollowers WHERE Id = 1 AND DealId = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the follower record.

AddTime Datetime True

The date and time when this user began following the deal.

UserId Integer False

Users.Id

The unique identifier of the user following the deal.

DealId [KEY] Integer False

Deals.Id

The unique identifier of the deal being followed.

CData Python Connector for Pipedrive

DealsParticipants

Returns the persons participating in a specific deal, along with their contact details and relationship data.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ItemDealId=

For example, the following query is processed server-side:

SELECT * FROM DealsParticipants WHERE ItemDealId = 9

INSERT

Execute INSERT by specifying the ItemDealId and PersonId columns. You can also insert any optional columns. For example:

INSERT INTO DealsParticipants (ItemDealId, PersonId) VALUES (4, 6)

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM DealsParticipants WHERE Id = 14 AND ItemDealId = 17

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the participant record.

ActiveFlag Boolean True

Indicates whether this participant record is active.

AddTime Datetime True

The date and time when this participant was added to the deal.

AddedByactiveFlag Boolean True

Indicates whether the user who added this participant is currently active.

AddedByemail String True

The email address of the user who added this participant.

AddedByhasPic Integer True

Indicates whether the user who added this participant has a profile picture.

AddedByid Integer True

The unique identifier of the user who added this participant.

AddedByname String True

The full name of the user who added this participant.

AddedBypicHash String True

The profile picture hash for the user who added this participant.

AddedByvalue Integer True

The numeric user identifier value for the user who added this participant.

PersonActiveFlag Boolean True

Indicates whether the participant's person record is currently active.

ActivitiesCount Integer True

The total number of activities associated with the participant's person record.

PersonAddTime Datetime True

The date and time when the participant's person record was created.

CcEmail String True

The BCC email address that links correspondence to the participant's person record in Pipedrive.

ClosedDealsCount Integer True

The number of closed deals associated with the participant's person record.

CompanyId Integer True

The identifier of the Pipedrive company account associated with the participant's person record.

DoneActivitiesCount Integer True

The number of completed activities linked to the participant's person record.

Email String True

The email addresses associated with the participant's person record.

EmailMessagesCount Integer True

The number of email messages linked to the participant's person record.

FilesCount Integer True

The number of files attached to the participant's person record.

FirstChar String True

The first character of the participant's name, used for alphabetical indexing.

FirstName String True

The first name of the participant.

FollowersCount Integer True

The number of Pipedrive users following the participant's person record.

Personlabel String True

The label assigned to the participant's person record for categorization.

LastActivityDate Date True

The date of the most recent activity linked to the participant's person record.

LastActivityId Integer True

The unique identifier of the most recent activity linked to the participant's person record.

LastincomingMailTime String True

The timestamp of the most recent incoming email received for the participant's person record.

Lastname String True

The last name of the participant.

LastoutgoingMailTime String True

The timestamp of the most recent outgoing email sent for the participant's person record.

LostdealsCount Integer True

The number of lost deals associated with the participant's person record.

Name String True

The full name of the participant.

NextActivityDate Date True

The scheduled date of the next activity linked to the participant's person record.

NextActivityId Integer True

The unique identifier of the next scheduled activity linked to the participant's person record.

NextActivityTime String True

The scheduled time of the next activity linked to the participant's person record.

NotesCount Integer True

The number of notes attached to the participant's person record.

OpenDealsCount Integer True

The number of open deals associated with the participant's person record.

OrgActiveFlag Boolean True

Indicates whether the organization linked to the participant's person record is currently active.

OrgAddress String True

The address of the organization linked to the participant's person record.

OrgCcEmail String True

The BCC email address for the organization linked to the participant's person record.

OrgName String True

The name of the organization linked to the participant's person record.

OrgownerId Integer True

The unique identifier of the owner of the organization linked to the participant's person record.

OrgpeopleCount Integer True

The number of people associated with the organization linked to the participant's person record.

OrgId Integer True

The unique identifier of the organization associated with the participant's person record.

OwnerActiveFlag Boolean True

Indicates whether the owner of the participant's person record is currently active.

OwnerEmail String True

The email address of the owner of the participant's person record.

OwnerHasPic Integer True

Indicates whether the owner of the participant's person record has a profile picture.

OwnerId Integer True

The unique identifier of the owner of the participant's person record.

OwnerName String True

The full name of the owner of the participant's person record.

OwnerPicHash String True

The profile picture hash for the owner of the participant's person record.

OwnerValue Integer True

The numeric identifier value for the owner of the participant's person record.

ParticipantClosedDealsCount Integer True

The number of closed deals in which this person participates as a non-primary contact.

ParticipantOpenDealsCount Integer True

The number of open deals in which this person participates as a non-primary contact.

Phone String True

The phone numbers associated with the participant's person record.

PictureId String True

The identifier of the profile picture attached to the participant's person record.

RelatedclosedDealsCount Integer True

The number of closed deals related to the participant through organizational or ownership links.

RelatedlostDealsCount Integer True

The number of lost deals related to the participant through organizational or ownership links.

RelatedopenDealsCount Integer True

The number of open deals related to the participant through organizational or ownership links.

RelatedwonDealsCount Integer True

The number of won deals related to the participant through organizational or ownership links.

SyncNeeded Boolean True

Indicates whether the participant's person record requires synchronization with an external system.

UndoneActivitiesCount Integer True

The number of incomplete activities linked to the participant's person record.

UpdateTime Datetime True

The date and time when the participant's person record was last modified.

VisibleTo String True

The visibility setting that controls which users can see the participant's person record.

WonDealsCount Integer True

The number of won deals associated with the participant's person record.

PersonIdActiveFlag Boolean True

Indicates whether the person linked via the participant identifier is currently active.

Personemail String True

The email addresses of the person linked via the participant identifier.

Personname String True

The full name of the person linked via the participant identifier.

Personphone String True

The phone numbers of the person linked via the participant identifier.

PersonValues Integer True

The numeric identifier value for the person linked to this participant.

ItemDealId [KEY] Integer False

Deals.id

The unique identifier of the deal this participant is associated with.

ItemTitle String True

The title of the deal this participant is associated with.

ItemId Integer True

The identifier of the related item linked to this participant record.

ItemType String True

The type of the related item linked to this participant record.

PersonId Integer False

Persons.Id

The unique identifier of the person participating in the deal.

PersonOrgName String True

The name of the organization associated with the participant's person record.

PersonOwnerName String True

The name of the user who owns the participant's person record.

CData Python Connector for Pipedrive

DealsProducts

Returns all products attached to deals, including pricing, quantity, discount, and product catalog details. Supports insert, update, and delete operations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsProducts WHERE DealId = 9 

INSERT

Execute INSERT by specifying the required columns. You can also insert any optional columns. For example:

INSERT INTO DealsProducts (DealId, ProductId, ItemPrice, quantity) VALUES (2, 2, 20000, 1)

UPDATE

Execute UPDATE by specifying the Id and DealId in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE DealsProducts SET quantity = 20 WHERE Id = 15 AND DealId = 2

DELETE

Execute DELETE by specifying the Id and DealId in the WHERE clause. For example:

DELETE FROM DealsProducts WHERE Id = 15 AND DealId = 2

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Unique identifier of the deal-product attachment record.

ActiveFlag Boolean True

Indicates whether this deal-product attachment is active.

AddTime Datetime True

Date and time when the product was attached to the deal.

Comments String False

Any textual comment associated with this product-deal attachment.

Currency String True

Currency code for the product price on this deal.

DealId [KEY] Integer False

Deals.Id

Deal id.

DiscountPercentage Double True

Discount %.

The default value is 0.

Duration Integer True

Duration of the product.

The default value is 1.

DurationUnit String True

Unit of time used for the product duration, for example month or year.

EnabledFlag Boolean True

Whether the product is enabled on the deal or not.

The allowed values are 0, 1.

ItemPrice Integer False

Price at which this product will be added to the deal.

LastEdit String True

Date and time when this deal-product attachment was last edited.

Name String True

Display name of the deal-product attachment record.

OrderNr Integer True

Ordering index used to control the display sequence of products on the deal.

ProductActiveFlag Boolean True

Indicates whether the product in the catalog is active.

ProductAddTime Datetime True

Date and time when the product was added to the catalog.

Category String True

Category assigned to the product in the catalog.

code String True

Internal code or SKU identifying the product in the catalog.

description String True

Text description of the product as defined in the product catalog.

FilesCount String True

Number of files attached to the product in the catalog.

FirstChar String True

First character of the product name, used for alphabetical grouping.

ProductsId Integer True

Identifier of the product in the Pipedrive product catalog.

ProductName String True

Name of the product as defined in the product catalog.

OwnerActiveFlag Boolean True

Indicates whether the owner user account of the product is active.

OwnerEmail String True

Email address of the user who owns the product in the catalog.

OwnerHasPic Boolean True

Indicates whether the product owner user has a profile picture.

OwnerId Integer True

Identifier of the user who owns the product in the catalog.

OwnerName String True

Full name of the user who owns the product in the catalog.

OwnerPicHash String True

Hash value of the product owner's profile picture, used for cache-busting.

OwnerValue Integer True

Numeric identifier value for the owner of the product.

Selectable Boolean True

Indicates whether the product can be selected and attached to deals.

ProductTax Integer True

Default tax rate percentage defined for the product in the catalog.

unit String True

Unit of measure for the product, for example hours, licenses, or items.

UpdateTime Datetime True

Date and time when the product record in the catalog was last updated.

VisibleTo String True

Visibility setting for the product, controlling which users can see it in the catalog.

ProductId Integer False

Products.id

ID of the product that will be attached.

VariationId String False

ID of the product variation.

Quantity Integer False

How many items of this product will be added to the deal.

QuantityFormatted String True

Quantity formatted as a display string including the unit of measure.

Sum Double True

Total value of this product line after applying quantity and discount.

SumFormatted String True

Total value of this product line formatted as a currency string.

SumNoDiscount Integer True

Total value of this product line before any discount is applied.

Tax Integer False

Tax percentage.

The default value is 0.

ProductPrices String True

Product Prices

CData Python Connector for Pipedrive

Files

Returns all files attached to deals, persons, organizations, products, leads, or activities in the Pipedrive account.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Files WHERE Id = 400

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Files SET Name = 'Updating PipeDrive Pipelines1' WHERE Id = 405

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Files WHERE Id = 400

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the file.

ActiveFlag Boolean True

Indicates whether the file is active and visible in the Pipedrive application.

ActivityId String True

ID of the activity to associate file.

AddTime Datetime True

The date and time when the file was uploaded.

Cid String True

The content ID of the file, used to reference inline attachments in email messages.

DealId String True

ID of the deal to associate file.

DealName String True

The name of the deal this file is associated with.

Description String False

Description of the file.

FileName String True

The original file name of the uploaded file.

FileSize Integer True

The size of the file in bytes.

FileType String True

The MIME type or category of the file, such as image, document, or spreadsheet.

InlineFlag Boolean True

Indicates whether the file is embedded inline within an email message rather than attached separately.

LogId String True

The ID of the mail log entry associated with this file.

MailMessageId String True

The ID of the mail message this file is attached to.

MailTemplateId String True

The ID of the mail template this file is associated with.

Name String False

Visible name of the file.

OrgId String True

ID of the organization to associate file.

OrgName String True

The name of the organization this file is associated with.

PersonId Integer True

ID of the person to associate file.

PersonName String True

The name of the person this file is associated with.

ProductId String True

ID of the product to associate file.

ProductName String True

The name of the product this file is associated with.

RemoteId String True

The ID of the file in the remote storage service where it is hosted.

RemoteLocation String True

The name of the remote storage service where this file is hosted, such as googledrive or pipedrive.

S3Bucket String True

The Amazon S3 bucket name where the file is stored, if applicable.

UpdateTime Datetime True

The date and time when the file record was last updated.

Url String True

The direct URL to download or access the file.

UserId Integer True

The ID of the user who uploaded the file.

LeadId String True

The ID of the lead this file is associated with.

LeadName String True

The name of the lead this file is associated with.

CData Python Connector for Pipedrive

Filters

Returns all saved filters defined in the Pipedrive account, including their type, ownership, and visibility settings.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Type=

For example, the following query is processed server-side:

SELECT * FROM Filters WHERE Id = 39

INSERT

Execute INSERT by specifying the Name, Conditions, and Type columns. You can also insert any columns that are not required. For example:

INSERT INTO Filters (Name, Conditions, Type) VALUES ('Indias Filter', '{"glue": "and","conditions": [{"glue": "and","conditions": [{"object": "organization","field_id": "4020"}]}]}', 'deals')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Filters SET Name = 'Updating Pipedrive filters', Conditions = '{"glue": "and","conditions": [{"glue": "or","conditions": [{"object": "organization123","field_id": "4021"}]}]}' WHERE Id = 39

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Filters WHERE Id = 10

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The ID of the filter.

ActiveFlag Boolean True

Indicates whether the filter is currently active and available for use in the Pipedrive application.

AddTime Datetime True

The date and time when the filter was created.

CustomViewId String True

The ID of the custom view associated with this filter, if applicable.

Name String False

The name of the filter.

TemporaryFlag String True

Indicates whether the filter is temporary and not permanently saved in the Pipedrive application.

Type String False

The types of filters to fetch.

The allowed values are deals, org, people, products, activity.

UpdateTime String True

The date and time when the filter was last updated.

UserId Integer True

The ID of the user who owns this filter.

VisibleTo Integer True

The visibility level of the filter, controlling which users can see and apply it.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Conditions String

The conditions of the filter as a JSON object.

CData Python Connector for Pipedrive

Goals

Returns goals defined in the Pipedrive account, including their type, assignee, tracking metric, expected outcome, and active duration.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Title=
Name=
Type=
Title=
PipelineId=
ActivityTypeId=

For example, the following queries are processed server-side:

SELECT * FROM Goals WHERE Id = 'c924154b747f214228a906d3de079801' AND DurationEnd = '2022-02-03' AND DurationStart = '2022-01-01'

SELECT * FROM Goals WHERE Title = 'test'

SELECT * FROM Goals WHERE Type = 'test'

SELECT * FROM Goals WHERE TypeName = 'test'

INSERT

Execute INSERT by specifying the Content and PersonId columns. All columns that are not read-only can be updated. For example:

INSERT INTO Goals (Title, AssigneeId, AssigneeType, DurationStart, DurationEnd, Target, [Interval], TypeName, CurrencyId,TrackingMetric,PipelineId,ActivityTypeId) VALUES ('QA Goal', 27952448, 'person', '2025-01-01', '2025-03-31', 50, 'monthly', 'deals_started', 148, 'sum', '[1]','[7]')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Goals SET title = 'test' WHERE Id = 'c924154b747f214228a906d3de079801'

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Goals WHERE Id = 'c924154b747f214228a906d3de079801'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the goal.

AssigneeId Integer False

ID of the user who's goal to fetch.

AssigneeType String False

Type of the goal's assignee. If provided, everyone's goals will be returned.

The allowed values are person, team, company.

DurationEnd Date False

End date of the period for which to find goals.

DurationStart Date False

Start date of the period for which to find goals.

Target Integer False

The numeric target value the goal aims to reach within the specified period.

CurrencyId String False

The ISO 4217 currency code used when the tracking metric is a monetary value.

TrackingMetric String False

Tracking metric of the expected outcome of the goal. If provided, everyone's goals will be returned.

Interval String False

Interval of the goal.

The allowed values are weekly, monthly, quarterly, yearly.

IsActive Boolean True

Whether goal is active or not.

The default value is true.

OwnerId Integer True

The ID of the user who owns this goal.

ReportIds String True

The IDs of the reports associated with this goal's progress tracking.

Title String False

Title of the goal.

TypeName String False

Type of the goal. If provided, everyone's goals will be returned.

The allowed values are deals_won, deals_progressed, activities_completed, activities_added, deals_started.

PipelineId String False

ID of the pipeline.

ActivityTypeId String False

ID of the activity_type.

CData Python Connector for Pipedrive

LeadLabels

Returns all lead labels used for organizing and categorizing leads.

Table-Specific Information

SELECT

Since no columns or operators are supported server-side, only the following query runs on the server:

SELECT * FROM LeadLabels

INSERT

To insert data, specify values for the Name and Color columns. You can include additional, optional columns as needed. For example:

INSERT INTO LeadLabels (Name, Color) VALUES ('BangaloreCdataIndia123', 'blue')

UPDATE

To update a record, include the Id in the WHERE clause and set new values for any editable (non-read-only) columns. For example:

UPDATE LeadLabels SET Name = 'I am updating content' WHERE Id = '28093520-743a-11ec-96e6-031cfba07e9a'

DELETE

To delete a record, specify the Id in the WHERE clause. For example:

DELETE FROM LeadLabels WHERE Id = '28093520-743a-11ec-96e6-031cfba07e9a'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the lead label.

AddTime Datetime True

The time when the label was created.

Color String False

The color of the label.

The allowed values are green, blue, red, yellow, purple, gray.

Name String False

The name of the label.

UpdateTime Datetime True

The time when the label was last updated.

CData Python Connector for Pipedrive

Leads

Returns all leads in the Pipedrive account, including their associated person, organization, labels, and value details.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
SearchByEmail=
OwnerId=
PersonId=
OrganizationId=

For example, the following queries are processed server-side:

SELECT * FROM Leads

SELECT * FROM Leads WHERE Id = 'a300ea00-5d6c-11ec-9270-93cbb0be1eed'

SELECT * FROM Leads WHERE SearchByEmail = 'all'

INSERT

Execute INSERT by specifying the Title column. You can also insert any columns that are not required. For example:

INSERT INTO Leads (Title, Personid, Visibleto, ExpectedCloseDate) VALUES ('CData123', 1, 1, '2022-01-01')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Leads SET Title = 'CdataIndia' WHERE Id = 'bf1bb1e0-6e13-11ec-b981-a127469657bd'

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Leads WHERE Id = 'bf1bb1e0-6e13-11ec-b981-a127469657bd'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The lead ID.

Addtime Datetime True

The time the lead was added.

CcEmail String True

The BCC email address associated with this lead, used to automatically log emails sent to it.

CreatorId Integer True

The ID of the lead's creator.

ExpectedCloseDate Date False

The date that the Deal to be created from this lead is expected to close.

Isarchived Boolean False

A flag indicating whether or not this lead is archived.

Labelids String False

The IDs of the lead labels that will be associated with this Lead.

NextactivityId Integer True

The ID of the next scheduled activity linked to this lead.

OrganizationId String False

The ID of an organization to which this lead will be linked.

OwnerId Integer False

The ID of the user who will be the owner of the created lead.

PersonId Integer False

The ID of a person to whom this lead will be linked.

Sourcename String True

The name of the source for this lead.

Title String False

The lead name.

Updatetime Datetime True

The most recent time that this lead has been updated.

Amount Integer False

The potential value of the lead.

Currency String False

The ISO 4217 currency code for the lead's monetary value.

Visibleto String False

The visibility level of the lead, controlling which users can see it. Accepted values: 1 (owner only), 3 (owner's visibility group), 5 (owner's and sub-groups), 7 (entire company).

The allowed values are 1, 3, 5, 7.

Wasseen Boolean False

A flag indicating whether the lead was seen by someone in the Pipedrive UI.

OriginId String False

An optional ID to further distinguish the origin of the lead.

Channel Integer False

The ID of the Marketing channel that was the source of this lead.

ChannelId String False

An optional ID to further distinguish the Marketing channel.

ArchiveTime Datetime True

The time this lead was archived.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
ArchivedStatus Integer

The archived status of the lead, to be used for filtering. If not provided, All is used (retrieves an unfiltered list).

The allowed values are archived, not_archived, all.

The default value is all.

CData Python Connector for Pipedrive

MailThreads

Returns mail threads from the connected mail account, ordered by the most recent message, and supports updating read status and deleting threads.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Folder=

For example, the following query is processed server-side:

SELECT * FROM MailThreads WHERE Folder = 'inbox'

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE MailThreads SET Subject = 'test' WHERE Id = 145

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM MailThreads WHERE Id = 145

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the mail thread.

PartiesTo String True

The list of recipient email addresses in the To field of the thread.

PartiesFrom String True

The list of sender email addresses in the From field of the thread.

DraftParties String True

The list of email addresses involved in draft messages within the thread.

Folders String True

The mail folders this thread appears in, such as inbox or sent.

AccountId String True

The ID of the connected mail account this thread belongs to.

UserId Integer True

The ID of the Pipedrive user who owns this mail thread.

Version Integer True

The version number of the mail thread, incremented on each update.

Subject String True

The subject line of the mail thread.

Snippet String True

A short preview of the most recent message in the thread.

SnippetDraft String True

A short preview of the most recent draft message in the thread.

SnippetSent String True

A short preview of the most recent sent message in the thread.

HasAttachmentsFlag Integer True

Indicates whether any message in the thread contains attachments.

HasInlineAttachmentsFlag Integer True

Indicates whether any message in the thread contains inline attachments.

HasRealAttachmentsFlag Integer True

Indicates whether any message in the thread contains non-inline file attachments.

HasDraftFlag Integer True

Indicates whether the thread contains one or more draft messages.

HasSentFlag Integer True

Indicates whether the thread contains one or more sent messages.

ArchivedFlag Integer False

Indicates whether the thread has been archived.

DeletedFlag Integer True

Indicates whether the thread has been deleted.

SyncedFlag Integer True

Indicates whether the thread has been successfully synchronized with the external mail provider.

ExternalDeletedFlag Integer True

Indicates whether the thread has been deleted in the external mail provider.

SmartBccFlag Integer True

Indicates whether the thread was captured via the Pipedrive Smart BCC feature.

FirstMessageToMeFlag Integer True

Indicates whether the first message in the thread was addressed to the current user.

MailLinkTrackingEnabledFlag Integer True

Indicates whether link tracking is enabled for messages in this thread.

LastMessageTimestamp String True

The date and time of the most recent message in the thread.

FirstMessageTimestamp String True

The date and time of the first message in the thread.

LastMessageSentTimestamp String True

The date and time of the most recent sent message in the thread.

LastMessageReceivedTimestamp String True

The date and time of the most recent received message in the thread.

AddTime String True

The date and time when the thread was first added to Pipedrive.

UpdateTime String True

The date and time when the thread was last updated.

DealId Integer False

The ID of the deal this mail thread is linked to.

DealStatus Integer True

The current status of the deal linked to this mail thread.

AllMessagesSentFlag Integer True

Indicates whether all messages in the thread were sent by the current user.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Folder String

The type of folder to fetch.

CData Python Connector for Pipedrive

NoteComments

Returns comments associated with a specific note, and supports creating, updating, and deleting those comments.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
NoteId=
UUID=

For example, the following query is processed server-side:

SELECT * FROM NoteComments WHERE NoteId = 14

INSERT

Execute INSERT by specifying the NoteId and Content columns. You can also insert any columns that are not required.

INSERT INTO NoteComments (NoteId, Content) VALUES (2, 'Test comment')

UPDATE

Execute UPDATE by specifying the NoteId and UUID in the WHERE clause. The columns that are not read-only can be updated. For example:

UPDATE NoteComments SET Content = 'Test' WHERE NoteId = 1 and UUID = '53e0c79fdacf083d9fe1f799fdc0a206'

DELETE

Execute DELETE by specifying the NoteId and UUID in the WHERE clause. For example:

DELETE FROM NoteComments WHERE NoteId = 1 and UUID = '53e0c79fdacf083d9fe1f799fdc0a206'

Columns

Name Type ReadOnly References Description
NoteId [KEY] Integer False

ID of the note.

UUID [KEY] String True

Comment Id.

ActiveFlag Boolean True

Indicates whether the comment is active and visible in the Pipedrive application.

AddTime String True

The date and time when the comment was created.

CompanyId Integer True

The ID of the company account this comment belongs to.

Content String False

Content of the comment.

ObjectId String True

The ID of the object this comment is attached to, such as a note or deal.

ObjectType String True

The type of object this comment is attached to, such as note or deal.

UpdateTime String True

The date and time when the comment was last updated.

UpdaterId Integer True

The ID of the user who last updated this comment.

UserId Integer True

The ID of the user who created this comment.

CData Python Connector for Pipedrive

Notes

Returns all notes associated with deals, persons, organizations, and leads, including content, pinning state, and authorship details.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
UserId=
LeadId=
DealId=
PersonId=
OrgId=
PinnedToLeadFlag=
PinnedToDealFlag=
PinnedToOrganizationFlag=
PinnedToPersonFlag=

For example, the following query is processed server-side:

SELECT * FROM Notes WHERE Id = 9                  

INSERT

Execute INSERT by specifying the Content and PersonId columns. All columns that are not required are optional. For example:

INSERT INTO Notes (ActiveFlag, Content, PersonId, AddTime) VALUES ('true', 'my notes', '8', '2021-12-31')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Notes SET Content = 'I am updating content' WHERE Id = 7

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Notes WHERE Id = 5

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the note.

ActiveFlag Boolean False

Indicates whether the note is active. Setting this to false effectively archives the note.

AddTime Datetime False

Date and time when the note was created.

Content String False

HTML-formatted text body of the note.

DealTitle String True

Title of the deal this note is associated with.

DealId Integer False

The ID of the deal which notes to fetch.

LastUpdateUserId Integer True

Unique identifier of the user who last updated the note.

LeadId String False

The ID of the lead which notes to fetch.

OrgId Integer False

The ID of the organization which notes to fetch.

OrganizationName String True

Name of the organization this note is associated with.

PersonName String True

Name of the person this note is associated with.

PersonId Integer False

The ID of the person whose notes to fetch.

PinnedToDealFlag Boolean False

If set, then results are filtered by note to deal pinning state.

The allowed values are 0, 1.

PinnedToLeadFlag Boolean False

If set, then results are filtered by note to lead pinning state.

The allowed values are 0, 1.

PinnedToOrganizationFlag Boolean False

If set, then results are filtered by note to organization pinning state.

The allowed values are 0, 1.

PinnedToPersonFlag Boolean False

If set, then results are filtered by note to person pinning state.

The allowed values are 0, 1.

UpdateTime Datetime True

Date and time when the note was last updated.

UserEmail String True

Email address of the user who created the note.

UserIconUrl String True

URL of the profile icon for the user who created the note.

UserIsYou Boolean True

Indicates whether the note was created by the currently authenticated user.

UserName String True

Full name of the user who created the note.

UserId Integer False

The ID of the user whose notes to fetch.

CData Python Connector for Pipedrive

OrganizationFields

Returns data about all organization fields, including built-in and custom field definitions.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to apply WHERE clause conditions with the supported column and operator listed below. It processes all other filters client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM OrganizationFields WHERE Id = 2             

INSERT

To insert data, specify values for the Name and FieldType columns. You can include additional, optional columns as needed. For example:

INSERT INTO OrganizationFields (Name, FieldType) VALUES ('Terex', 'text')

UPDATE

To update a record, include the Id in the WHERE clause and set new values for any editable (non-read-only) columns. For example:

UPDATE OrganizationFields SET Name = 'Terry' WHERE Id = 2

DELETE

To delete a record, specify the Id in the WHERE clause. For example:

DELETE FROM OrganizationFields WHERE Id = 2

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the organization field.

ActiveFlag Boolean True

Indicates whether the field is active and visible in the Pipedrive interface.

AddTime Datetime True

The date and time when the field was created.

AddVisibleFlag Boolean False

Whether the field is available in 'add new' modal or not.

The default value is true.

BulkEditAllowed Boolean True

Indicates whether this field can be edited in bulk operations.

DetailsVisibleFlag Boolean True

Indicates whether the field is visible on the organization detail view.

EditFlag Boolean True

Indicates whether the field can be edited by users.

FieldType String False

Type of the field.

The allowed values are address, date, daterange, double, enum, monetary, org, people, phone, set, text, time, timerange, user, varchar, varchar_auto, visible_to.

FilteringAllowed Boolean True

Indicates whether this field can be used as a filter criterion.

ImportantFlag Boolean True

Indicates whether this field is marked as important and prominently displayed.

IndexVisibleFlag Boolean True

Indicates whether the field is visible in the organizations list view.

Key [KEY] String True

The unique machine-readable key that identifies this field in API requests and responses.

LastUpdatedByUserId String True

The identifier of the user who last updated this field definition.

MandatoryFlag Boolean True

Indicates whether this field is required when creating or updating an organization.

Name String False

Name of the field.

Options String False

The selectable options for enum and set field types, returned as a JSON array.

OrderNr Integer True

The display order position of this field relative to other fields.

SearchableFlag Boolean True

Indicates whether this field is included in organization search results.

SortableFlag Boolean True

Indicates whether the organizations list can be sorted by this field.

UpdateTime Datetime True

The date and time when the field definition was last updated.

CData Python Connector for Pipedrive

OrganizationRelationships

Returns relationship records between organizations, including parent-child and related-organization associations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM OrganizationRelationships WHERE Id = 9 

INSERT

Execute INSERT by specifying the Content and PersonId columns. You can also insert any columns that are not required. For example:

INSERT INTO OrganizationRelationships (type, RelOwnerOrgId, RelLinkedOrgId) VALUES ('parent', 2, 3)

UPDATE

Execute UPDATE by specifying the Id and Dealid in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE OrganizationRelationships SET type = 'parent' WHERE Id = 10

DELETE

Execute DELETE by specifying the Id, DealId in the WHERE clause. For example:

DELETE FROM OrganizationRelationships  WHERE Id = 10

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the organization relationship.

ActiveFlag Boolean True

Indicates whether the relationship is active.

AddTime Datetime True

The date and time when the relationship was created.

CalculatedRelatedOrgId Integer True

The identifier of the related organization as calculated by Pipedrive based on the relationship direction.

CalculatedType String True

The relationship type as calculated from the perspective of the requesting organization.

RelLinkedOrgIdActiveFlag Boolean True

Indicates whether the linked organization is active.

RelLinkedOrgIdAddress String True

The address of the linked organization.

RelLinkedOrgIdCcEmail String True

The BCC email address associated with the linked organization.

RelLinkedOrgIdname String True

The name of the linked organization.

RelLinkedOrgIdownerId Integer True

The identifier of the user who owns the linked organization.

RelLinkedOrgIdPeopleCount Integer True

The total number of people associated with the linked organization.

RelLinkedOrgIdvalue Integer True

The numeric identifier value of the linked organization.

RelOwnerOrgIdActiveFlag Boolean True

Indicates whether the owner organization is active.

RelOwnerOrgIdAddress String True

The address of the owner organization.

RelOwnerOrgIdCcEmail String True

The BCC email address associated with the owner organization.

RelOwnerOrgIdName String True

The name of the owner organization.

RelOwnerOrgIdOwnerId Integer True

The identifier of the user who owns the owner organization.

RelOwnerOrgIdPeopleCount Integer True

The total number of people associated with the owner organization.

OrgId Integer True

The numeric identifier value of the owner organization.

RelatedOrganizationName String True

The name of the related organization.

Type String False

The type of organization relationship.

The allowed values are parent, related.

UpdateTime Datetime True

The date and time when the relationship was last updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
RelOwnerOrgId Integer

Real Organization Id.

RelLinkedOrgId Integer

Real Organization Id.

CData Python Connector for Pipedrive

Organizations

[DEPRICATED endpoint, use Organizations in PipedriveV2 instead.] Get details of organizations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
FirstChar=
FilterId=
UserId=

For example, the following queries are processed server-side:

SELECT * FROM Organizations WHERE Id = 14

SELECT * FROM Organizations WHERE FirstChar = 'c'

SELECT * FROM Organizations WHERE FilterId = 1
 
SELECT * FROM Organizations WHERE UserId = 1           

INSERT

Execute INSERT by specifying the Name column. You can insert any columns that are not read-only. For example:

INSERT INTO Organizations (Name) VALUES ('testpankaj')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Organizations SET Name = 'test123' WHERE Id = 2495

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Organizations WHERE Id = 15

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Id.

ActiveFlag Boolean True

ActiveFlag.

ActivitiesCount Integer True

ActivitiesCount.

AddTime Datetime False

Optional creation date time of the organization in UTC. Requires admin user API token. Format: YYYY-MM-DD HH:MM:SS

Address String False

Address.

AdminArealevel1 String True

AdminArealevel1.

AdminArealevel2 String True

AdminArealevel2.

Country String True

Country.

FormattedAddress String True

FormattedAddress.

Locality String True

Locality.

PostalCode String True

PostalCode.

Route String True

Route.

StreetNumber String True

StreetNumber.

Sublocality String True

Sublocality.

Subpremise String True

Subpremise.

CcEmail String True

CcEmail.

CustomFields String True

CustomFields you will get the result of this column only when criteria filter title is used.

ClosedDealsCount Integer True

ClosedDealsCount.

CompanyId Integer True

CompanyId.

CountryCode String True

CountryCode.

DoneActivitiesCount Integer True

DoneActivitiesCount.

EmailMessagesCount Integer True

EmailMessagesCount.

FilesCount Integer True

FilesCount.

FirstChar String True

FirstChar.

FollowersCount Integer True

FollowersCount.

Label Integer True

Label.

LastActivityDate Date True

LastActivityDate.

LastActivityId Integer True

LastActivityId.

LostDealsCount Integer True

LostDealsCount.

Name String False

Name.

NextActivityDate Date True

NextActivityDate.

NextActivityId Integer True

NextActivityId.

NextActivityTime Time True

NextActivityTime.

NotesCount Integer True

NotesCount.

OpenDealsCount Integer True

OpenDealsCount.

OwneractiveFlag Boolean True

Owneractive_flag.

OwnerEmail String True

OwnerEmail.

OwnerHasPic Boolean True

OwnerHasPic.

OwnerId Integer False

OwnerId.

OwnerIdName String True

OwnerName.

OwnerPicHash String True

OwnerPicHash.

OwnerIdValue Integer True

OwnerIdValue.

PeopleCount Integer True

PeopleCount.

PictureActiveFlag Boolean True

PictureActiveFlag.

PictureAddTime Datetime True

PictureAddTime.

PictureAddedByUserId Integer True

PictureAddedByUserId.

PictureItemId Integer True

PictureItemId.

PictureItemType String True

PictureItemType.

Picture128 String True

Picture128.

Picture512 String True

Picture512.

PictureUpdateTime String True

PictureUpdateTime.

PictureId Integer True

PictureIid.

RelatedClosedDealsCount Integer True

RelatedClosedDealsCount.

RelatedLostDealsCount Integer True

RelatedLostDealsCount.

RelatedOpenDealsCount Integer True

RelatedOpenDealsCount.

RelatedWonDealsCount Integer True

RelatedWonDealsCount.

Type String True

Type you will get the result of this column only when criteria filter title is used.

UndoneActivitiesCount Integer True

UndoneActivitiesCount.

UpdateTime Datetime True

UpdateTime.

VisibleTo Integer False

Visibility of the organization.

The allowed values are 1, 3, 5, 7.

WonDealsCount Integer True

WonDealsCount.

OwnerName String True

Owner Name.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer

User Id.

FilterId Integer

Filter Id.

CData Python Connector for Pipedrive

OrganizationsFollowers

Returns the list of followers for a specified organization, including each follower's user ID and the timestamp when the follower was added.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsFollowers WHERE OrgId = 6 

INSERT

Execute INSERT by specifying the UserId and OrgId columns. You can also insert any columns that are not read-only. For example:

INSERT INTO OrganizationsFollowers (UserId, OrgId) VALUES (8230170, 1)

DELETE

Execute DELETE by specifying Id and OrgId in the WHERE clause. For example:

DELETE FROM OrganizationsFollowers WHERE OrgId = 1 AND Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Unique identifier of the follower record.

AddTime Datetime True

Timestamp indicating when the follower was added to the organization.

OrgId [KEY] Integer False

Unique identifier of the organization being followed.

UserId Integer False

Unique identifier of the user who is following the organization.

CData Python Connector for Pipedrive

PersonFields

Returns data about all person fields.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM PersonFields WHERE Id = 9039                 

INSERT

Execute INSERT by specifying the Name and FieldType columns. You can also insert any columns that are not required. For example:

INSERT INTO PersonFields (Name, AddVisibleFlag, FieldType) VALUES ('NameCdataIndia', 'true', 'address')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE PersonFields SET Name = 'My name just started here' WHERE Id = '9062'

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM PersonFields WHERE Id = 9040

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the field.

ActiveFlag Boolean True

Whether the field is available in the add new person dialog in the Pipedrive web and mobile applications.

AddTime Datetime True

The date and time when the field was created.

AddVisibleFlag Boolean False

Whether the field is available in 'add new' modal or not (both in web and mobile app).

The default value is true.

BulkEditAllowed Boolean True

Whether the field can be edited in bulk operations.

DetailsVisibleFlag Boolean True

Whether the field is visible on the person detail view.

EditFlag Boolean True

Whether the field can be edited by the current user.

FieldType String False

Type of the field.

The allowed values are address, date, daterange, double, enum, monetary, org, people, phone, set, text, time, timerange, user, varchar, varchar_auto, visible_to.

FilteringAllowed Boolean True

Whether the field can be used as a filter condition in person list views.

ImportantFlag Boolean True

Whether the field is marked as important and highlighted in the person detail view.

IndexVisibleFlag Boolean True

Whether the field is visible in the person list view.

Key String True

The unique machine-readable key that identifies the field within the Pipedrive API.

LastUpdatedByUserId String True

The ID of the user who last modified the field definition.

MandatoryFlag Boolean True

Whether the field is required when creating or updating a person.

Name String False

Name of the field.

Options String False

The list of selectable options available for enum or set type fields.

OrderNr Integer True

The display order number of the field relative to other fields in the person detail view.

SearchableFlag Boolean True

Whether the field is included in global search results within Pipedrive.

SortableFlag Boolean True

Whether the person list view can be sorted by this field.

UpdateTime Datetime True

The date and time when the field definition was last modified.

CData Python Connector for Pipedrive

PersonFollowers

Returns the list of followers for a specified person, including follower user IDs, associated deal IDs, and the timestamp when each follower was added.

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Unique identifier of the follower record.

AddTime Datetime True

Timestamp indicating when the follower was added to the person.

PersonId [KEY] Integer False

Unique identifier of the person being followed.

UserId Integer False

Unique identifier of the user who is following the person.

DealId Integer True

Unique identifier of the deal associated with this follower relationship, if applicable.

CData Python Connector for Pipedrive

Persons

[DEPRICATED endpoint, use Persons in PipedriveV2 instead.] Get all details of persons.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
FirstCharLIKE
FilterId=
UserId=

For example, the following queries are processed server-side:

SELECT * FROM Persons WHERE Id = 14

SELECT * FROM Persons WHERE FirstChar = 'c'

SELECT * FROM Persons WHERE FilterId = 1
 
SELECT * FROM Persons WHERE UserId = 1                 

INSERT

Execute INSERT by specifying the Name column. You can insert any columns that are not read-only. For example:

INSERT INTO Persons (Name) VALUES ('testpankaj')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Persons SET Name = 'test123' WHERE Id = 2495

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Persons WHERE Id = 15

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Id.

ActiveFlag Boolean False

ActiveFlag.

ActivitiesCount Integer True

ActivitiesCount.

AddTime Datetime False

Optional creation date time of the person Requires admin user API token. Format: YYYY-MM-DD HH:MM:SS

CcEmail String True

CcEmail.

ClosedDealsCount Integer True

ClosedDealsCount.

CompanyId Integer True

CompanyId.

CustomFields String True

CustomFields you will get the result of this column only when criteria filter title is used.

DoneActivitiesCount Integer True

DoneActivitiesCount.

Email String False

Email.

EmailMessagesCount Integer True

EmailMessagesCount.

FilesCount Integer True

FilesCount.

FirstChar String True

If supplied, only persons whose name starts with the specified letter will be returned.

FirstName String True

FirstName.

FollowersCount Integer True

FollowersCount.

Label Integer True

Label.

LastActivityDate Date True

LastActivityDate.

LastActivityId Integer True

LastActivityId.

LastIncomingMailTime Datetime True

LastIncomingMailTime.

LastName String True

LastName.

LastOutgoingMailTime Datetime True

LastOutgoingMailTime.

LostDealsCount Integer True

LostDealsCount.

Name String False

Name.

NextActivityDate Date True

NextActivityDate.

NextActivityId Integer True

NextActivityId.

NextActivityTime Time True

NextActivityTime.

Notes String True

Notes.

NotesCount Integer True

NotesCount.

OpenDealsCount Integer True

OpenDealsCount.

OrgActiveFlag Boolean True

OrgActiveFlag.

OrgAddress String True

OrgAddress.

OrgccEmail String True

OrgccEmail.

OrgName String True

OrgName.

OrgownerId Integer True

OrgownerId.

OrgpeopleCount Integer True

OrgpeopleCount.

Orgvalue Integer False

Orgvalue.

OwnerActiveFlag Boolean True

OwnerActiveFlag.

OwnerEmail String True

OwnerEmail.

OwnerHasPic Integer True

OwnerHasPic.

OwnerId Integer False

OwnerId.

OwnerIdName String True

OwnerName.

OwnerPicHash String True

OwnerPicHash.

OwnerValue Integer True

OwnerValue.

ParticipantClosedDealscount Integer True

ParticipantClosedDealscount.

ParticipantOpenDealsCount Integer True

ParticipantOpenDealsCount.

Phone String False

Phone.

PictureActiveFlag Boolean True

PictureActiveFlag.

PictureAddTime Datetime True

PictureAddTime.

PictureAddedByUserId Integer True

PictureAddedByUserId.

PictureItemId Integer True

PictureItemId.

PictureItemType String True

PictureItemType.

Picture128 String True

Picture128.

Picture512 String True

Picture512.

PictureUpdateTime String True

PictureUpdateTime.

Picturevalue Integer True

Picturevalue.

RelatedClosedDealsCount Integer True

RelatedClosedDealsCount.

RelatedLostDealsCount Integer True

RelatedLostDealsCount.

RelatedOpenDealsCount Integer True

RelatedOpenDealsCount.

RelatedWonDealsCount Integer True

RelatedWonDealsCount.

UndoneActivitiesCount Integer True

UndoneActivitiesCount.

UpdateTime Datetime True

UpdateTime.

VisibleTo String False

Visibility of the person.

The allowed values are 1, 3.

WonDealsCount Integer True

WonDealsCount.

PrimaryEmail String True

Primary Email.

MarketingStatus String False

Marketing Status.

OwnerName String True

Owner Name.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

Filter Id.

UserId Integer

User Id.

CData Python Connector for Pipedrive

Pipelines

[DEPRICATED endpoint, use Pipelines in PipedriveV2 instead.] Returns all sales pipelines, including their names, ordering, deal probability settings, and active status.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Pipelines WHERE Id = 4                 

INSERT

Execute INSERT by specifying the Name, Active, DealProbability, OrderNr, and UrlTitle columns. You can also insert any columns that are not required. For example:

INSERT INTO PipeLines (Name, Active, DealProbability, OrderNr, UrlTitle) VALUES ('Indias PipeLines for Pipedrive', 'true', '0', 1, 'indiapipedrivepipeline@com')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE PipeLines SET Name = 'Updating Pipedrive Pipelines1' WHERE Id = 4

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM PipeLines WHERE Id = 5

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the pipeline.

Name String False

The name of the Pipeline.

Active Boolean False

Whether this Pipeline will be made inactive (hidden) or active.

DealProbability Integer False

Whether Deal probability is disabled or enabled for this Pipeline.

The allowed values are 0, 1.

OrderNr Integer False

Defines the order of Pipelines.

The default value is 0.

Selected Boolean True

Indicates whether this pipeline is currently selected as the default view.

UpdateTime Datetime True

Date and time when the pipeline was last updated.

AddTime Datetime True

Date and time when the pipeline was created.

UrlTitle String True

URL-friendly slug version of the pipeline name, used in web addresses.

CData Python Connector for Pipedrive

ProductFields

Returns data about all product fields.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM ProductFields WHERE Id = 28                 

INSERT

Execute INSERT by specifying the Name and FieldType columns. You can also insert any columns that are not required. For example:

INSERT INTO ProductFields (Name, FieldType) VALUES ('BangaloreCdataIndia123', 'address')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE ProductFields SET Name = 'My name just started here' WHERE Id = 28

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM ProductFields WHERE Id = 9040

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the Product Field.

ActiveFlag Boolean True

Whether the field is available in the add new product dialog in the Pipedrive web and mobile applications.

AddTime Datetime True

The date and time when the field was created.

AddVisibleFlag Boolean True

Whether the field is shown in the add new product dialog in the Pipedrive web and mobile applications.

BulkEditAllowed Boolean True

Whether the field can be edited in bulk operations.

DetailsVisibleFlag Boolean True

Whether the field is visible on the product detail view.

EditFlag Boolean True

Whether the field can be edited by the current user.

FieldType String False

Type of the field.

The allowed values are address, date, daterange, double, enum, monetary, org, people, phone, set, text, time, timerange, user, varchar, varchar_auto, visible_to.

FilteringAllowed Boolean True

Whether the field can be used as a filter condition in product list views.

ImportantFlag Boolean True

Whether the field is marked as important and highlighted in the product detail view.

IndexVisibleFlag Boolean True

Whether the field is visible in the product list view.

Key String True

The unique machine-readable key that identifies the field within the Pipedrive API.

LastUpdatedByUserId String True

The ID of the user who last modified the field definition.

MandatoryFlag Boolean True

Whether the field is required when creating or updating a product.

Name String False

Name of the field.

Options String False

The list of selectable options available for enum or set type fields.

OrderNr Integer True

The display order number of the field relative to other fields in the product detail view.

PicklistData String True

The raw picklist data associated with the field, used internally to populate selectable option lists.

SearchableFlag Boolean True

Whether the field is included in global search results within Pipedrive.

SortableFlag Boolean True

Whether the product list view can be sorted by this field.

UpdateTime Datetime True

The date and time when the field definition was last modified.

CData Python Connector for Pipedrive

Products

[DEPRICATED endpoint, use Products in PipedriveV2 instead.] Get details of Products.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
FirstChar=
FilterId=
UserId=
GetSummary=
Ids=,IN

For example, the following queries are processed server-side:

SELECT * FROM Products WHERE Id = 14

SELECT * FROM Products WHERE FirstChar = 'c'

SELECT * FROM Products WHERE FilterId = 1
 
SELECT * FROM Products WHERE UserId = 1

SELECT * FROM Products WHERE GetSummary = 1

SELECT * FROM Products WHERE Ids IN (1, 2)

INSERT

Execute INSERT by specifying the Name column. You can also insert any columns that are not required.

INSERT INTO Products (name) VALUES ('tests')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Products SET Name = 'test123' WHERE Id = 2495

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Products WHERE Id = 15

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

Product Id.

ActiveFlag Boolean True

Whether this product will be made active or not.

The allowed values are 0, 1.

The default value is 1.

AddTime Datetime True

Add Time.

Category Integer False

category.

Code String False

Product code.

CustomFields String True

CustomFields you will get the result of this column only when criteria filter title is used.

Description String False

description.

FilesCount String True

FilesCount.

FirstChar String True

If supplied only Products whose name starts with the specified letter will be returned.

Name String False

Name of the product.

OwnerActiveFlag Boolean True

OwnerActiveFlag.

OwnerEmail String True

OwnerEmail.

OwnerHasPic Boolean True

OwnerHasPic.

OwnerId Integer False

ID of the user who will be marked as the owner of this product.

OwnerName String True

OwnerName.

OwnerPicHash String True

OwnerPicHas.

Ownervalue Integer True

Owner Id.

Prices String False

Object containing price objects.

Selectable Boolean False

Whether this product can be selected in Deals or not.

The allowed values are 0, 1.

The default value is 1.

Tax Integer False

Tax percentage.

The default value is 0.

Type String True

Type you will get the result of this column only when criteria filter title is used.

Unit String False

Unit in which this product is sold.

UpdateTime Datetime True

Update Time.

VisibleTo String False

Visibility of the product.

The allowed values are 1, 3, 5, 7.

SummaryTotalCount String True

You will get data of this column when Criterial filter is GetSummary is used.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer

User Id.

FilterId Integer

Filter Id.

GetSummary Boolean

Get SUmmary.

Ids Integer

The Ids of the Products that should be returned in the response.

CData Python Connector for Pipedrive

ProductsFollowers

Returns the users who are following a specific product in Pipedrive, and supports adding and removing followers.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=

For example, the following query is processed server-side:

SELECT * FROM ProductsFollowers WHERE ProductId = 6 

INSERT

Execute INSERT by specifying the UserId and ProductId columns. You can also insert any columns that are not required.

INSERT INTO ProductsFollowers (UserId, ProductId) VALUES (8230170, 1)

DELETE

Execute DELETE by specifying the Id and ProductId in the WHERE clause. For example:

DELETE FROM ProductsFollowers WHERE ProductId = 1 AND id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the follower relationship record.

AddTime Datetime True

The date and time when the user started following the product.

ProductId [KEY] Integer False

The ID of the product being followed.

UserId Integer False

The ID of the user who is following the product.

CData Python Connector for Pipedrive

Projects

Returns all projects, including their status, assigned board and phase, linked deals and organizations, and timeline dates.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Status=
PhaseId=

For example, the following queries are processed server-side:

SELECT * FROM Projects WHERE status = 'open'   
SELECT * FROM Projects WHERE phaseId = 1        

INSERT

Execute INSERT by specifying the Title, BoardId, and PhaseId columns. You can also insert any columns that are not required.

INSERT INTO Projects (Title, BoardId, PhaseId) VALUES ('New Project', 3,1)

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Projects SET Title = 'Updated Project title' WHERE Id = 1

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Projects WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the project.

Title String False

The title of the project.

Description String False

The description of the project.

Status String False

The status of the project.

AddTime Datetime True

The date-time when the project was added.

StartDate Date False

The date when the project was started.

UpdateTime Datetime True

The date-time when the project was updated.

ArchiveTime Datetime True

The date-time when the project was archived.

StatusChangeTime Datetime True

The date-time when the status of the project was changed.

BoardId Integer False

Unique identifier of the board this project is assigned to.

DealIds String False

The deal ids linked to the project.

EndDate Date False

The end date for the project.

LabelsAggregate String False

The labels linked to the project.

OrgId Integer False

Unique identifier of the organization linked to this project.

OwnerId Integer False

The id of the owner of the project.

PersonId Integer False

The id of the person linked to the project.

PhaseId Integer False

Unique identifier of the phase this project is currently in.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

The ID of the Filter to use.

IncludeArchived Boolean

Include archived.

CData Python Connector for Pipedrive

Roles

Returns all roles defined in the account, including their hierarchy level, assignment counts, and parent-child relationships.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM Roles 

SELECT * FROM Roles WHERE Id = 2

INSERT

Execute INSERT by specifying the Name and ParentRoleId columns. You can also insert any columns that are not required. For example:

INSERT INTO Roles (Name, ParentRoleId) VALUES ('BangaloreCdataIndia123', '2')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Roles SET Name = 'My name just started here' WHERE Id = 1

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Roles WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the role.

ActiveFlag Boolean True

Indicates whether the role is currently active.

AssignmentCount String True

Number of users currently assigned to this role.

Level Integer True

Hierarchical depth level of the role within the role tree, where lower numbers represent higher-level roles.

Name String False

The name of the Role.

ParentRoleId Integer False

The ID of the parent Role.

SubRoleCount String True

Number of child roles directly nested under this role.

CData Python Connector for Pipedrive

RolesAssignments

List assignments for a role.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following queries are processed server-side:

SELECT * FROM RolesAssignments 

SELECT * FROM RolesAssignments WHERE Id = 1

INSERT

Execute INSERT by specifying the Id and UserId columns. You can also insert any columns that are not required. For example:

INSERT INTO RoleAssignments (Id, UserId, RoleId) VALUES (1, 'NameCdataIndia', '1')

DELETE

Execute DELETE by specifying the Id and UserId WHERE clause. For example:

DELETE FROM RolesAssignments WHERE Id = 1 AND UserId = 1

Columns

Name Type ReadOnly References Description
RoleId Integer False

The ID of the role whose assignments are being listed.

ActiveFlag Boolean True

Whether the role assignment is currently active.

Name String True

The display name of the role.

ParentRoleId String True

The ID of the parent role in the role hierarchy, if applicable.

Type String True

The type of the assignment, indicating what kind of entity is assigned to this role.

UserId Integer False

ID of the user.

CData Python Connector for Pipedrive

RolesSetting

Returns all the roles settings.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
RoleId=

For example, the following queries are processed server-side:

SELECT * FROM RolesSetting

SELECT * FROM RolesSetting WHERE RoleId = 1

INSERT

Execute INSERT by specifying the Name and FieldType columns. You can also insert any columns that are not required. For example:

INSERT INTO RolesSetting (RoleId, SettingKey, Value) VALUES (1, 'deal_default_visibility', '1')

UPDATE

Execute UPDATE by setting values for SettingKey and Value and specifying RoleId in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE RolesSetting SET Value = '3', SettingKey = 'deal_default_visibility' WHERE RoleId = 1

Columns

Name Type ReadOnly References Description
RoleId [KEY] Integer False

The ID of the role whose visibility settings are being retrieved.

DealDefaultVisibility Integer True

The default visibility setting applied to deals created by users in this role.

LeadDefaultVisibility Integer True

The default visibility setting applied to leads created by users in this role.

OrgDefaultVisibility Integer True

The default visibility setting applied to organizations created by users in this role.

PersonDefaultVisibility Integer True

The default visibility setting applied to persons created by users in this role.

ProductDefaultVisibility Integer True

The default visibility setting applied to products created by users in this role.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Value String

Possible values for the default_visibility setting depending on the subscription plan.

The allowed values are 1, 3, 5, 7.

SettingKey String

SettingKey.

The allowed values are deal_default_visibility, lead_default_visibility, org_default_visibility, person_default_visibility, product_default_visibility.

CData Python Connector for Pipedrive

Tasks

Returns all tasks within projects, including completion status, due dates, assignees, and parent-child task relationships.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
AssigneeId=
ParentTaskId=
ProjectId=
Done=

For example, the following queries are processed server-side:

SELECT * FROM Tasks WHERE Id = 1
SELECT * FROM Tasks WHERE done = 0
SELECT * FROM Tasks WHERE ParentTaskId = 3           

INSERT

Execute INSERT by specifying the Title and ProjectId columns. You can also insert any columns that are not required.

INSERT INTO Tasks (Title, ProjectId) VALUES ('New task', 3)

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Tasks SET Title = 'Updated task title' WHERE Id = 1

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Tasks WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the task.

Title String False

The title of the task.

Description String False

The description of the task.

Done Integer False

Indicates whether the task has been completed. Set to 1 for done, 0 for not done.

DueDate Date False

Due date of the task.

AddTime Datetime True

The date when the task was added.

AssigneeId Integer False

The id of the assignee of the task.

CreatorId Integer True

The id of the creator of the task.

MarkedAsDoneTime Datetime True

The time when the task was marked as done.

ParentTaskId Integer False

Unique identifier of the parent task, used to establish subtask relationships.

ProjectId Integer False

The id of the corresponding project.

UpdateTime Datetime True

The date-time when the task was updated.

CData Python Connector for Pipedrive

Users

Returns data about all users within the company, including their account status, contact details, role assignments, and access settings.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
SearchByEmail=

For example, the following query is processed server-side:

SELECT * FROM Users WHERE Id = 13816635     

INSERT

Execute INSERT by specifying the Name, Email, and ActiveFlag columns. You can also insert any columns that are not required. For example:

INSERT INTO Users (Name, Email, ActiveFlag) VALUES ('CdataIndiaEngineering', 'India@cdata.com', 'true')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Users SET ActiveFlag = 'false' WHERE Id = 13944807

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

ID of the user.

Activated Boolean True

Whether the user has completed account activation.

ActiveFlag Boolean False

Whether the user is active or not.

The default value is true.

Created Datetime True

The date and time when the user account was created.

DefaultCurrency String True

The default currency code used for the user's monetary values.

Email String False

Email of the user.

Hascreatedcompany Boolean True

Whether the user has created a company in Pipedrive.

IconUrl String True

The URL of the user's profile avatar image.

IsAdmin Integer True

Whether the user has administrator privileges in the company account.

IsYou Boolean True

Whether this user record represents the currently authenticated user.

Lang Integer True

The numeric identifier for the user's preferred interface language.

LastLogin Datetime True

The date and time of the user's most recent login.

Locale String True

The locale code that determines the user's regional formatting preferences for dates and numbers.

Modified Datetime True

The date and time when the user record was last modified.

Name String False

Name of the user.

Phone String True

The phone number associated with the user's account.

RoleId Integer True

ID of the role.

TimezoneName String True

The IANA timezone name representing the user's local timezone.

TimezoneOffset String True

The UTC offset string representing the user's timezone offset.

Access String False

The access given to the user.

CData Python Connector for Pipedrive

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for Pipedrive Views

Name Description
ActivityFields Returns all activity fields defined in the Pipedrive account, including both standard and custom field metadata.
ActivityFieldsOptions Returns the selectable option values for activity fields that use enumeration or set data types.
Currencies Returns all supported currencies in given account which should be used when saving monetary values with other objects.
CurrentUsers Returns data about an authorized user within the company with bound company data: company ID, company name, and domain.
DealFieldsOptions Returns the selectable options for enum and set type deal fields. Each row represents one option value available for a given deal field.
DealsFiles Returns all files attached to a specific deal, including metadata such as file name, size, type, and storage location.
DealsMailMessages Returns mail messages linked to a specific deal, including message metadata, tracking flags, and recipient details.
DealsMailMessagesBcc Returns the BCC recipients for mail messages linked to a specific deal.
DealsMailMessagesCc Returns the CC recipients for mail messages linked to a specific deal.
DealsMailMessagesFrom Returns the sender details for mail messages linked to a specific deal.
DealsMailMessagesTo Returns the primary recipients for mail messages linked to a specific deal.
DealsParticipantsEmail Returns the email addresses associated with the person field of each deal participant.
DealsParticipantsPersonEmail Returns the email addresses from the person_id field of each deal participant record.
DealsParticipantsPersonPhone Returns the phone numbers from the person_id field of each deal participant record.
DealsParticipantsPhone Returns the phone numbers associated with the person field of each deal participant.
DealsPermittedUsers Returns the list of user IDs that have permission to access a specific deal.
DealsSummary Returns aggregated summary statistics for deals, including total count, converted values, and weighted values, optionally filtered by user, stage, status, or filter.
DealsTimeline Returns deal timeline data grouped into time intervals, showing deal counts and values for each period based on a specified date field.
DealsTimelineDeals Returns individual deal records from the deals timeline endpoint, with each row representing a deal that falls within a specified timeline interval.
DealsUpdates Returns the activity feed updates for a specific deal, including field changes, notes, emails, activities, and other deal events.
DealsUpdatesAttachments Returns the file attachments associated with activity feed updates for a specific deal.
DealsUpdatesAttendees Returns the attendees for activity feed updates associated with a specific deal.
DealsUpdatesBcc Returns the BCC recipients for mail message updates in the activity feed of a specific deal.
DealsUpdatesCc Returns the CC recipients for mail message updates in the activity feed of a specific deal.
DealsUpdatesFrom Returns the sender details for mail message updates in the activity feed of a specific deal.
DealsUpdatesParticipants Returns the participants for activity updates in the activity feed of a specific deal.
DealsUpdatesTo Returns the primary recipients for mail message updates in the activity feed of a specific deal.
FilterHelpers Returns all supported filter helper values used when constructing Pipedrive filters, including address field components, operator tokens for each data type, and relative date expressions.
FindUsersByName Finds users by their name.
LeadPermittedUsers Get all permitted users for leads in a single company
LeadsArchived Returns all archived leads from the Pipedrive account, including associated person, organization, label, and value details.
LeadSources Returns all lead source values available in the Pipedrive account for categorizing the origin of leads.
MailMessages Returns metadata and status flags for mail threads, including sender and recipient parties, folder assignment, timestamps, and linked deal information.
MailThreadMessages Returns all individual mail messages within a specified mail thread, including sender, recipient, and status details for each message.
MailThreadMessagesFrom Returns the sender details for each mail message within a specified mail thread, including email address and linked person information.
MailThreadMessagesTo Returns the recipient details for each mail message within a specified mail thread, including email address and linked person information.
MailThreadsFrom Returns sender party details for mail threads, including the email address, linked person, and linked organization for each thread sender.
MailThreadsTo Returns recipient party details for mail threads, including the email address, linked person, and linked organization for each thread recipient.
NoteFields Returns data about all note fields.
NoteFieldsOptions Returns the selectable option values for note fields that use enumeration or set data types.
OrganizationFieldsOptions Returns the predefined option values for enumeration-type organization fields, including each option's ID and display label.
OrganizationsFiles Returns files attached to a specified organization, including file metadata and links to associated deals, persons, and products.
OrganizationsMailMessages Returns mail messages associated with a specified organization, including message metadata, flags, and recipient lists.
OrganizationsMailMessagesBcc Returns the BCC recipients for mail messages associated with a specified organization.
OrganizationsMailMessagesCc Returns the CC recipients for mail messages associated with a specified organization.
OrganizationsMailMessagesFrom Returns the sender records for mail messages associated with a specified organization.
OrganizationsMailMessagesTo Returns the direct recipients for mail messages associated with a specified organization.
OrganizationsPermittedUsers Returns the identifiers of users who have permission to access a specified organization.
OrganizationsUpdates Returns the activity and change history for a specified organization, including details about activities, field changes, notes, files, and other timeline events associated with that organization.
OrganizationsUpdatesAttendees Returns the attendees of activity update events associated with a specified organization, including each attendee's name, email address, organizer status, and attendance status.
OrganizationsUpdatesParticipants Returns the participants of activity update events associated with a specified organization, including each participant's person ID and whether they are the primary participant.
PermissionSets Returns all permission sets defined in the company, including their names, types, and user assignment counts.
PermissionSetsAssignments Returns the users assigned to a specific permission set, showing which users operate under each set of permissions.
PersonFieldsOptions Returns the selectable options for enum and set type person fields. Each row represents one option value available for a given person field.
PersonsFiles Returns all files attached to a specific person in Pipedrive, including file metadata and links to associated deals, organizations, and leads.
PersonsMailMessages Returns all mail messages associated with a specific person in Pipedrive, including message metadata, recipients, tracking status, and storage details.
PersonsMailMessagesBcc Returns the BCC recipients from mail messages associated with a specific person in Pipedrive.
PersonsMailMessagesCc Returns the CC recipients from mail messages associated with a specific person in Pipedrive.
PersonsMailMessagesFrom Returns the sender details from mail messages associated with a specific person in Pipedrive.
PersonsMailMessagesTo Returns the primary recipients from mail messages associated with a specific person in Pipedrive.
PersonsPermittedUsers Returns the list of users who have permission to access a specific person record in Pipedrive.
PersonsProducts Returns all products linked to deals associated with a specific person in Pipedrive, including full deal and product details.
PersonsUpdates Returns the activity and change history for a specified person, including details about activities, field changes, notes, files, and other timeline events associated with that person.
PersonsUpdatesAttendees Returns the attendees of activity update events associated with a specified person, including each attendee's name, email address, organizer status, and attendance status.
PersonsUpdatesParticipants Returns the participants of activity update events associated with a specified person, including each participant's person ID and whether they are the primary participant.
PipelineDealsConversionRates Returns deal conversion rate statistics for a specific pipeline over a given time period, including won, lost, and stage-to-stage conversion rates.
PipelineDealsMovements Returns deal movement statistics for a pipeline over a specified time period, including counts and values for new, won, lost, and open deals.
PipelineDealsMovementsAverageAgeInDaysByStages Returns the average number of days deals spend in each pipeline stage during the specified time period.
PipelineDealsStageConversions Returns stage-level deal conversion statistics for a specific pipeline over a given time period, showing the conversion rate between each pair of consecutive stages.
ProductFieldsOptions Returns the selectable options for enum and set type product fields. Each row represents one option value available for a given product field.
ProductsDeals Returns all deals that include the specified product, with full deal details including participants, activities, and pipeline information.
ProductsDealsPersonEmail Returns the email addresses of contact persons associated with deals that include the specified product.
ProductsDealsPersonphone Returns the phone numbers of contact persons associated with deals that include the specified product.
ProductsFiles Returns all files attached to the specified product, including file metadata and associated entity references.
ProductsPermittedUsers Returns the list of users who have permission to access the specified product.
ProductsPrices Returns the pricing entries for products, including price, cost, currency, and overhead cost per price record.
ProjectTemplates Get the details of a specific project template.
Recents Returns data about all recent changes occurred after given timestamp.
RecentsAttendees Returns the attendee details for activities that have been recently changed, filtered by a specified UTC timestamp.
RecentsParticipants Returns the participant details for activities that have been recently changed, filtered by a specified UTC timestamp.
RolesPipelinesVisibility Get the list of either visible or hidden pipeline IDs for a specific role.
UserConnection Returns the external service connections configured for the current user, such as linked Google account details.
UsersAccess Returns access details for all users in the company.
UserSettings List settings of an authorized user.
UsersFollowers Lists the followers of a specific user.
UsersPermissions Returns the full set of permission flags for a specific user, indicating which actions the user is authorized to perform within Pipedrive.
UsersRoleAssignments Lists role assignments for a user.
UsersRoleSettings Lists the settings of user assigned role.

CData Python Connector for Pipedrive

ActivityFields

Returns all activity fields defined in the Pipedrive account, including both standard and custom field metadata.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

For example, the following query is processed server-side:

SELECT * FROM ActivityFields

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the activity field.
ActiveFlag Boolean Indicates whether the activity field is currently active.
AddTime Datetime The date and time when the activity field was created.
AddVisibleFlag Boolean Indicates whether the field is visible on the activity add form.
BulkEditAllowed Boolean Indicates whether the field can be edited in bulk operations.
DetailsVisibleFlag Boolean Indicates whether the field is visible on the activity detail view.
EditFlag Boolean Indicates whether the field can be edited by the current user.
FieldType String The data type of the field, such as varchar, text, int, or date.
FilteringAllowed Boolean Indicates whether the field can be used as a filter criterion.
ImportantFlag Boolean Indicates whether the field is marked as important and given prominent placement.
IndexVisibleFlag Boolean Indicates whether the field is visible in the activity list view.
Key [KEY] String The internal API key used to reference this field in API requests.
LastUpdatedByUserId String The identifier of the user who last modified this field definition.
MandatoryFlag Boolean Indicates whether the field is required when creating or updating an activity.
Name String The display name of the activity field as it appears in the Pipedrive interface.
Options String The list of available options for enum or set field types, returned as an aggregate.
OrderNr Integer The display order position of this field relative to other activity fields.
SearchableFlag Boolean Indicates whether the field is included in search operations.
SortableFlag Boolean Indicates whether the activity list can be sorted by this field.
UpdateTime Datetime The date and time when the activity field definition was last updated.

CData Python Connector for Pipedrive

ActivityFieldsOptions

Returns the selectable option values for activity fields that use enumeration or set data types.

Columns

Name Type References Description
Id [KEY] String The unique identifier of the option value.
Label String The display label of the option as it appears to users in the Pipedrive interface.
ActivityFieldsId [KEY] Integer

ActivityFields.Id

ActivityFields Id.

CData Python Connector for Pipedrive

Currencies

Returns all supported currencies in given account which should be used when saving monetary values with other objects.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Term=

For example, the following queries are processed server-side.

SELECT * FROM Currencies WHERE Term = 'Armenian Dram'  
SELECT * FROM Currencies WHERE Term = 'AFN'             
Note: Term can be Currencies.Name or Currencies.Code.

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the currency.
ActiveFlag Boolean Indicates whether the currency is currently active and available for use in the account.
Code String The ISO 4217 currency code, such as USD or EUR.
DecimalPoints Integer The number of decimal places used when displaying monetary values in this currency.
IsCustomFlag Boolean Indicates whether the currency is a custom currency added by the account, rather than a standard ISO currency.
Name String The full display name of the currency, such as US Dollar.
Symbol String The currency symbol used in monetary displays, such as $ or €.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Term String Optional search term that is searched for from currency's name and/or code.

CData Python Connector for Pipedrive

CurrentUsers

Returns data about an authorized user within the company with bound company data: company ID, company name, and domain.

View-Specific Information

SELECT

The following is an example of a SELECT query:
SELECT * FROM CurrentUsers

Columns

Name Type References Description
Id [KEY] Integer ID of the user.
Activated Boolean Whether the user has completed account activation.
ActiveFlag Boolean Whether the user is active or not.

The default value is true.

Created Datetime The date and time when the user account was created.
DefaultCurrency String The default currency code used for the user's monetary values.
Email String Email of the user.
Hascreatedcompany Boolean Whether the user has created a company in Pipedrive.
IconUrl String The URL of the user's profile avatar image.
IsAdmin Integer Whether the user has administrator privileges in the company account.
IsYou Boolean Whether this user record represents the currently authenticated user.
Lang Integer The numeric identifier for the user's preferred interface language.
LastLogin Datetime The date and time of the user's most recent login.
Locale String The locale code that determines the user's regional formatting preferences for dates and numbers.
Modified Datetime The date and time when the user record was last modified.
Name String Name of the user.
Phone String The phone number associated with the user's account.
RoleId Integer ID of the role.
TimezoneName String The IANA timezone name representing the user's local timezone.
TimezoneOffset String The UTC offset string representing the user's timezone offset.
Access String The access given to the user.
CompanyId Integer The unique identifier of the company account associated with the authenticated user.
CompanyName String The display name of the company account associated with the authenticated user.
CompanyDomain String The subdomain of the company's Pipedrive account URL.
CompanyCountry String The country where the company account is registered.
CompanyIndustry String The industry sector associated with the company account.
LanguageCode String The BCP 47 language code representing the user's preferred language.
CountryCode String The ISO 3166-1 alpha-2 country code associated with the user's language setting.

CData Python Connector for Pipedrive

DealFieldsOptions

Returns the selectable options for enum and set type deal fields. Each row represents one option value available for a given deal field.

Columns

Name Type References Description
Id [KEY] String The unique identifier of the field option.
Label String The display label shown to users when selecting this option in Pipedrive.
DealFieldId [KEY] Integer

DealFields.Id

The ID of the parent deal field that owns this option.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Name String Name of the field.
FieldType String Type of the field.

The allowed values are address, date, daterange, double, enum, monetary, org, people, phone, set, text, time, timerange, user, varchar, varchar_auto, visible_to.

AddVisibleFlag Boolean AddVisibleFlag.

CData Python Connector for Pipedrive

DealsFiles

Returns all files attached to a specific deal, including metadata such as file name, size, type, and storage location.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsFiles WHERE DealId = 246

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the file attachment.
ActiveFlag Boolean Indicates whether the file attachment is active and has not been deleted.
ActivityId String Identifier of the activity to which this file is attached, if applicable.
AddTime Datetime Date and time when the file was uploaded.
Cid String Content identifier of the file, used when the file is embedded inline in email messages.
DealId String Identifier of the deal to which this file is attached.
DealName String Title of the deal to which this file is attached.
Description String Optional description or note associated with the file attachment.
FileName String Original name of the uploaded file, including its extension.
FileSize Integer Size of the file in bytes.
FileType String MIME type or general type category of the file, for example image or document.
InlineFlag Boolean Indicates whether the file is embedded inline in an email message rather than attached as a separate file.
LogId String Identifier of the activity log entry associated with this file.
MailMessageId String Identifier of the email message to which this file is attached.
MailTemplateId String Identifier of the email template associated with this file.
Name String Display name of the file as shown in the Pipedrive interface.
OrgId Integer Identifier of the organization associated with this file.
OrgName String Name of the organization associated with this file.
PeopleName String Name of the person (contact) associated with this file.
PersonId String Identifier of the person (contact) associated with this file.
PersonName String Full name of the person (contact) associated with this file.
ProductId String Identifier of the product associated with this file, if applicable.
ProductName String Name of the product associated with this file, if applicable.
RemoteId String Identifier of the file in the remote storage system, such as Google Drive.
RemoteLocation String Name of the remote storage service where the file is stored, for example googledrive or dropbox.
S3Bucket String Name of the Amazon S3 bucket where the file is stored.
UpdateTime Datetime Date and time when the file record was last updated.
Url String URL to download or access the file.
UserId Integer Identifier of the user who uploaded the file.
LeadId String Identifier of the lead associated with this file, if applicable.
LeadName String Title of the lead associated with this file, if applicable.

CData Python Connector for Pipedrive

DealsMailMessages

Returns mail messages linked to a specific deal, including message metadata, tracking flags, and recipient details.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsMailMessages WHERE DealId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message.
AccountId String The identifier of the mail account associated with this message.
AddTime Datetime The date and time when this mail message was added to Pipedrive.
Bcc String The list of BCC recipients for this mail message.
BodyUrl String The URL from which the full message body can be retrieved.
Cc String The list of CC recipients for this mail message.
CompanyId Integer The identifier of the Pipedrive company account associated with this message.
DeletedFlag Integer Indicates whether this mail message has been deleted. A value of 1 means the message is deleted.
Draft String The draft status identifier for this mail message.
DraftFlag Integer Indicates whether this mail message is a draft. A value of 1 means the message has not been sent.
ExternalDeletedFlag Integer Indicates whether this mail message was deleted in the external mail provider. A value of 1 means it was deleted externally.
From String The list of senders of this mail message.
AttachmentsFlag Integer Indicates whether this mail message has file attachments. A value of 1 means attachments are present.
BodyFlag Integer Indicates whether this mail message has a body. A value of 1 means a message body is available.
InlineAttachmentsFlag Integer Indicates whether this mail message contains inline attachments such as embedded images. A value of 1 means inline attachments are present.
RealAttachmentsFlag Integer Indicates whether this mail message contains downloadable file attachments, excluding inline content. A value of 1 means real attachments are present.
ItemType String The type of item this mail message record represents within the Pipedrive activity feed.
TrackingEnabledFlag Integer Indicates whether link tracking is enabled for this mail message. A value of 1 means link clicks are tracked.
ThreadId Integer The identifier of the mail thread this message belongs to.
TrackingStatus String The current open and click tracking status of this mail message.
MessageTime String The timestamp of the mail message as reported by the mail provider.
MessageId String The unique message identifier assigned by the mail user agent.
NylasId String The identifier assigned to this message by the Nylas mail synchronization service.
ReadFlag Integer Indicates whether this mail message has been read. A value of 1 means the message has been opened.
S3Bucket String The name of the Amazon S3 bucket where the message body is stored.
S3BucketPath String The path within the S3 bucket where the message body is stored.
SentFlag Integer Indicates whether this mail message has been sent. A value of 1 means the message was sent.
SentFromPipedriveFlag Integer Indicates whether this mail message was sent directly through Pipedrive. A value of 1 means it was sent from the Pipedrive interface.
SmartBccFlag Integer Indicates whether Smart BCC was used to link this message to Pipedrive. A value of 1 means the message was captured via Smart BCC.
Snippet String A short preview excerpt from the body of the mail message.
Subject String The subject line of the mail message.
SyncedFlag Integer Indicates whether this mail message has been synchronized with the external mail provider. A value of 1 means the message is synchronized.
TemplateId String The identifier of the email template used to compose this message, if applicable.
Timestamp Datetime The date and time when this mail message record was last updated in Pipedrive.
To String The list of primary recipients of this mail message.
UpdateTime Datetime The date and time when this mail message record was last modified.
UserId Integer The unique identifier of the Pipedrive user associated with this mail message.
WriteFlag Boolean Indicates whether the current user has write access to this mail message.
Object String The object type identifier returned by the Pipedrive API for this record.
DealId Integer

Deals.Id

The unique identifier of the deal this mail message is linked to.

CData Python Connector for Pipedrive

DealsMailMessagesBcc

Returns the BCC recipients for mail messages linked to a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsMailMessagesBcc WHERE DealId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the BCC recipient record.
EmailAddress String The email address of the BCC recipient.
PersonId String The unique identifier of the Pipedrive person record linked to this BCC recipient.
PersonName String The full name of the Pipedrive person record linked to this BCC recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this BCC recipient.
Name String The display name of the BCC recipient.
DealId Integer

Deals.Id

The unique identifier of the deal whose mail message BCC recipients are returned.

CData Python Connector for Pipedrive

DealsMailMessagesCc

Returns the CC recipients for mail messages linked to a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsMailMessagesCc WHERE DealId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the CC recipient record.
EmailAddress String The email address of the CC recipient.
PersonId String The unique identifier of the Pipedrive person record linked to this CC recipient.
PersonName String The full name of the Pipedrive person record linked to this CC recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this CC recipient.
Name String The display name of the CC recipient.
DealId Integer

Deals.Id

The unique identifier of the deal whose mail message CC recipients are returned.

CData Python Connector for Pipedrive

DealsMailMessagesFrom

Returns the sender details for mail messages linked to a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsMailMessagesFrom WHERE DealId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the sender record.
EmailAddress String The email address of the message sender.
PersonId String The unique identifier of the Pipedrive person record linked to the sender.
PersonName String The full name of the Pipedrive person record linked to the sender.
MessagePartyId Integer The unique identifier of the mail message party record for the sender.
Name String The display name of the message sender.
DealId Integer

Deals.Id

The unique identifier of the deal whose mail message senders are returned.

CData Python Connector for Pipedrive

DealsMailMessagesTo

Returns the primary recipients for mail messages linked to a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsMailMessagesTo WHERE DealId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the recipient record.
EmailAddress String The email address of the primary recipient.
PersonId String The unique identifier of the Pipedrive person record linked to this recipient.
PersonName String The full name of the Pipedrive person record linked to this recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this recipient.
Name String The display name of the primary recipient.
DealId Integer

Deals.Id

The unique identifier of the deal whose mail message recipients are returned.

CData Python Connector for Pipedrive

DealsParticipantsEmail

Returns the email addresses associated with the person field of each deal participant.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealsParticipantsId=

For example, the following queries are processed server-side:

SELECT * FROM DealsParticipantsEmail
SELECT * FROM DealsParticipantsEmail WHERE DealsParticipantsId = 2

Columns

Name Type References Description
DealsParticipantsId [KEY] Integer

DealsParticipants.Id

Identifier of the deal participant record.
Label String Category label for the email address, for example work or home.
Value String The email address of the deal participant's person contact.
Primary Boolean Indicates whether this is the primary email address for the person.

CData Python Connector for Pipedrive

DealsParticipantsPersonEmail

Returns the email addresses from the person_id field of each deal participant record.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealsParticipantsId=

For example, the following queries are processed server-side:

SELECT * FROM DealsParticipantsPersonEmail
SELECT * FROM DealsParticipantsPersonEmail WHERE DealsParticipantsId = 2

Columns

Name Type References Description
DealsParticipantsId [KEY] Integer

DealsParticipants.Id

Identifier of the deal participant record.
Label String Category label for the email address, for example work or home.
Value String The email address of the deal participant's linked person record.
Primary Boolean Indicates whether this is the primary email address for the person.

CData Python Connector for Pipedrive

DealsParticipantsPersonPhone

Returns the phone numbers from the person_id field of each deal participant record.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealsParticipantsId=

For example, the following queries are processed server-side:

SELECT * FROM DealsParticipantsPersonPhone
SELECT * FROM DealsParticipantsPersonPhone WHERE DealsParticipantsId = 2

Columns

Name Type References Description
DealsParticipantsId [KEY] Integer

DealsParticipants.Id

Identifier of the deal participant record.
Label String Category label for the phone number, for example work or mobile.
Value String The phone number of the deal participant's linked person record.
Primary Boolean Indicates whether this is the primary phone number for the person.

CData Python Connector for Pipedrive

DealsParticipantsPhone

Returns the phone numbers associated with the person field of each deal participant.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealsParticipantsId=

For example, the following queries are processed server-side:

SELECT * FROM DealsParticipantsPhone
SELECT * FROM DealsParticipantsPhone WHERE DealsParticipantsId = 2

Columns

Name Type References Description
DealsParticipantsId [KEY] Integer

DealsParticipants.Id

Identifier of the deal participant record.
Label String Category label for the phone number, for example work or mobile.
Value String The phone number of the deal participant's person contact.
Primary Boolean Indicates whether this is the primary phone number for the person.

CData Python Connector for Pipedrive

DealsPermittedUsers

Returns the list of user IDs that have permission to access a specific deal.

Columns

Name Type References Description
Data String Array of user identifiers who are permitted to view and access the deal.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Id String Id.

CData Python Connector for Pipedrive

DealsSummary

Returns aggregated summary statistics for deals, including total count, converted values, and weighted values, optionally filtered by user, stage, status, or filter.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Status=
UserId=
FilterId=
StageId=

For example, the following queries are processed server-side:

SELECT * FROM DealsSummary WHERE UserId = 8230170

SELECT * FROM DealsSummary WHERE Status = 'open'

SELECT * FROM DealsSummary WHERE StageId = 1
 
SELECT * FROM DealsSummary WHERE FilterId = 1

Columns

Name Type References Description
TotalCount Integer Total number of deals included in the summary.
Totalvalue Double Sum of all deal values converted to the default currency.
TotalValueFormatted String Total converted deal value formatted as a currency display string.
TotalWeightedValue Double Sum of all deal values weighted by their probability and converted to the default currency.
TotalWeightedValueFormatted String Total weighted converted deal value formatted as a currency display string.
ValuesTotal String JSON object containing total deal values broken down by currency.
WeightedValuesTotal String JSON object containing probability-weighted deal values broken down by currency.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer Filter Id.
UserId Integer User Id.
StageId Integer Stage Id.
Status String Status.

CData Python Connector for Pipedrive

DealsTimeline

Returns deal timeline data grouped into time intervals, showing deal counts and values for each period based on a specified date field.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
UserId=
ConvertCurrency=
ExcludeDeals=
FilterId=
PipelineId=
IntervalType=
Amount=
StartDate=
FieldKey=
IntervalType=

For example, the following query is processed server-side:

SELECT * FROM DealsTimeline WHERE Amount = '3' AND StartDate = '2021-12-12' AND FieldKey = 'add_time' AND IntervalType = 'month'  
Note: The required columns are Amount, StartDate, FieldKey and IntervalType.

Columns

Name Type References Description
Deals String JSON array of deals that fall within this timeline period.
PeriodEnd Datetime End date and time of this timeline interval.
PeriodStart Date Start date of this timeline interval.
TotalValues String JSON object containing aggregated deal value totals for this timeline interval.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
StartDate Date Date where the first interval starts. Format: YYYY-MM-DD.
IntervalType String Type Of Interval.

The allowed values are day, week, month, quarter.

Amount Integer The number of given intervals, starting from start_date, to fetch E.g 3 months.
FieldKey String The date field key which deals will be retrieved from.
UserId Integer User id.
FilterId Integer Type Of Interval.

The allowed values are day, week, month, quarter.

ExcludeDeals Integer Whether to exclude deals list 1 or not 0.

The allowed values are 0, 1.

ConvertCurrency String 3-letter currency code of any of the supported currencies.
PipelineId Integer Pipeline Id.

CData Python Connector for Pipedrive

DealsTimelineDeals

Returns individual deal records from the deals timeline endpoint, with each row representing a deal that falls within a specified timeline interval.

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the deal.
Active Boolean Indicates whether the deal is currently active.
ActivitiesCount Integer Total number of activities associated with the deal.
AddTime Datetime Date and time when the deal was created.
CcEmail String BCC email address used to associate incoming emails with the deal.
CloseTime String Date and time when the deal was closed as won or lost.
CreatorUserId Integer Identifier of the user who originally created the deal.
Currency String Currency code for the deal value.
Deleted Boolean Indicates whether the deal has been deleted.
DoneActivitiesCount Integer Number of completed activities associated with the deal.
EmailMessagesCount Integer Number of email messages associated with the deal.
ExpectedCloseDate Date Date by which the deal is expected to be closed.
FilesCount Integer Number of files attached to the deal.
FirstWonTime Datetime Date and time when the deal was marked as won for the first time.
FollowersCount Integer Number of Pipedrive users following this deal.
FormattedValue String Deal value formatted as a currency display string.
FormattedWeightedValue String Probability-weighted deal value formatted as a currency display string.
Label String Label applied to the deal for categorization or visual identification.
LastActivityDate String Date of the most recent activity associated with the deal.
LastActivityId String Identifier of the most recent activity associated with the deal.
LastncomingMailTime Datetime Date and time of the last incoming email message associated with the deal.
LastoutgoingMailTime Datetime Date and time of the last outgoing email message associated with the deal.
Lostreason String Reason entered when the deal was marked as lost.
LostTime String Date and time when the deal was marked as lost.
NextActivityDate Date Date of the next scheduled activity associated with the deal.
NextActivityDuration Time Duration of the next scheduled activity associated with the deal.
NextActivityId Integer Identifier of the next scheduled activity associated with the deal.
NextActivityNote String Note text of the next scheduled activity associated with the deal.
NextActivitySubject String Subject of the next scheduled activity associated with the deal.
NextActivityTime Time Time of the next scheduled activity associated with the deal.
NextActivityType String Type of the next scheduled activity, for example call or meeting.
NotesCount Integer Number of notes attached to the deal.
OrgHidden Boolean Indicates whether the organization linked to this deal is hidden from the current user.
OrgId Integer Identifier of the organization linked to the deal.
OrgName String Name of the organization linked to the deal.
OwnerName String Full name of the user who owns the deal.
ParticipantsCount Integer Number of participants associated with the deal.
PersonHidden Boolean Indicates whether the person linked to this deal is hidden from the current user.
PersonId Integer Identifier of the primary person (contact) linked to the deal.
PersonName String Full name of the primary person (contact) linked to the deal.
PipelineId Integer

Pipelines.Id

Identifier of the pipeline in which this deal resides.
Probability String Probability percentage that this deal will be won, used for weighted value calculations.
ProductsCount Integer Number of products attached to the deal.
RottenTime String Date and time when the deal was marked as rotten due to inactivity.
StageChangeTime Datetime Date and time when the deal last moved to a different pipeline stage.
StageId Integer Identifier of the pipeline stage in which the deal currently resides.
StageOrderNr Integer Display order number of the current pipeline stage.
Status String Current status of the deal, for example open, won, or lost.
Title String Title or name of the deal.
UndoneActivitiesCount Integer Number of incomplete activities associated with the deal.
UpdateTime Datetime Date and time when the deal was last updated.
UserId Integer

Users.Id

Identifier of the user who owns the deal.
Value Integer Monetary value of the deal in the deal's currency.
VisibleTo String Visibility setting for the deal, controlling which users can see it.
WeightedValue Integer Deal value multiplied by the win probability percentage.
WeightedValueCurrency String Currency code for the weighted deal value.
WonTime Datetime Date and time when the deal was marked as won.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
StartDate Date Date where the first interval starts. Format: YYYY-MM-DD
IntervalType String Type Of Interval.

The allowed values are day, week, month, quarter.

Amount Integer The number of given intervals, starting from start_date, to fetch E.g 3 months.
FieldKey String The date field key which deals will be retrieved from.
FilterId Integer Type Of Interval.

The allowed values are day, week, month, quarter.

ExcludeDeals Integer Whether to exclude deals list 1 or not 0.

The allowed values are 0, 1.

ConvertCurrency String 3-letter currency code of any of the supported currencies.

CData Python Connector for Pipedrive

DealsUpdates

Returns the activity feed updates for a specific deal, including field changes, notes, emails, activities, and other deal events.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=, IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdates WHERE DealId = 3 
SELECT * FROM DealsUpdates WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdates WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id Integer The unique identifier of the update record.
AccountId String The identifier of the mail account associated with this update.
ActiveFlag Boolean Indicates whether this update record is active.
AddTime Datetime The date and time when this update was recorded.
AdditionalData String Additional metadata associated with this update record.
AssignedToUserId Integer The unique identifier of the user to whom this update item is assigned.
Attachments String The file attachments associated with this update record.
Attendees String The attendees associated with an activity in this update record.
Bcc String The BCC recipients for a mail message in this update record.
BodyUrl String The URL from which the full message body can be retrieved for a mail message update.
BusyFlag Boolean Indicates whether the assigned user is marked as busy during the activity in this update.
IncludeContext String Indicates whether contextual deal information is included when this activity is synchronized to a calendar.
Cc String The CC recipients for a mail message in this update record.
ChangeSource String The source system or interface through which this change was made.
UserAgent String The user agent string of the client that made this change.
CompanyId Integer The identifier of the Pipedrive company account associated with this update.
MeetingClient String The conferencing client used for a meeting activity in this update.
MeetingId String The unique identifier of the conference meeting linked to this update.
MeetingUrl String The join URL for the conference meeting linked to this update.
CreatedByUserId Integer The unique identifier of the user who created this update record.
DealDropboxBcc String The Smart BCC email address for linking emails directly to this deal.
DealId Integer The unique identifier of the deal this update belongs to.
DealTitle String The title of the deal this update belongs to.
DeletedFlag Integer Indicates whether this update record has been deleted. A value of 1 means it is deleted.
Done Boolean Indicates whether the activity in this update has been marked as completed.
Draft String The draft status identifier for a mail message in this update.
DraftFlag Integer Indicates whether a mail message in this update is a draft. A value of 1 means the message has not been sent.
DueDate Date The due date of the activity in this update record.
DueTime Time The due time of the activity in this update record.
Duration Time The scheduled duration of the activity in this update record.
ExternalDeletedFlag Integer Indicates whether this record was deleted in the external mail provider. A value of 1 means it was deleted externally.
FieldKey String The API key of the deal field that was changed in this update.
CleanName String The sanitized display name of the file attached to this update.
FileId String The unique identifier of the file attached to this update.
Url String The download URL of the file attached to this update.
From String The senders of a mail message in this update record.
GcalEventId String The Google Calendar event identifier for an activity synchronized to Google Calendar.
GoogleCalendarEtag String The ETag value for the Google Calendar event associated with this activity.
GoogleCalendarId String The identifier of the Google Calendar where the associated activity event is stored.
AttachmentsFlag Integer Indicates whether a mail message in this update has file attachments. A value of 1 means attachments are present.
BodyFlag Integer Indicates whether a mail message in this update has a message body. A value of 1 means a body is present.
InlineAttachmentsFlag Integer Indicates whether a mail message in this update contains inline attachments such as embedded images.
RealAttachmentsFlag Integer Indicates whether a mail message in this update contains downloadable file attachments, excluding inline content.
IsBulkUpdateFlag String Indicates whether this change was applied as part of a bulk update operation.
ItemId Integer The unique identifier of the item referenced by this update record.
ItemType String The type of the item referenced by this update record, such as deal or activity.
NotificationTime Datetime The date and time of the most recent notification sent for this update.
NotificationUserId Integer The unique identifier of the user who last received a notification for this update.
LeadId String The unique identifier of the lead associated with this update record, if applicable.
Location String The location of the activity in this update record.
AdminAreaLevel1 String The state or province component of the activity location address.
AdminAreaLevel2 String The county or district component of the activity location address.
Country String The country component of the activity location address.
FormattedAddress String The full formatted address of the activity location.
Lat Double The latitude coordinate of the activity location.
Locality String The city or locality component of the activity location address.
Long Double The longitude coordinate of the activity location.
PostalCode String The postal code component of the activity location address.
Route String The street or route component of the activity location address.
StreetNumber String The street number component of the activity location address.
Sublocality String The neighborhood or sublocality component of the activity location address.
Subpremise String The suite or unit component of the activity location address.
LogTime Datetime The date and time when this update event was logged in the deal's activity feed.
TrackingEnabledFlag Integer Indicates whether link tracking is enabled for a mail message in this update.
MailThreadId Integer The identifier of the mail thread associated with a mail message in this update.
MailTrackingStatus String The open and click tracking status of a mail message in this update.
MarkedAsDoneTime Datetime The date and time when the activity in this update was marked as completed.
MessageTime String The timestamp of the mail message as reported by the mail provider.
MuaMessageId String The unique message identifier assigned by the mail user agent.
NewValue String The value of the field after the change recorded in this update.
Note String The text content of a note recorded in this update.
LanguageId Integer The identifier of the language used for notifications associated with this update.
NylasId String The identifier assigned to a mail message in this update by the Nylas mail synchronization service.
OldValue Integer The value of the field before the change recorded in this update.
OrgId Integer The unique identifier of the organization associated with this update.
OrgName String The name of the organization associated with this update.
OwnerName String The name of the user who owns the item referenced by this update.
Participants String The participants associated with an activity in this update record.
PersonDropboxBcc String The Smart BCC email address for linking emails to the person associated with this update.
PersonId Integer The unique identifier of the person associated with this update.
PersonName String The name of the person associated with this update.
PublicDescription String The publicly visible description of the activity type associated with this update.
ReadFlag Integer Indicates whether a mail message in this update has been read. A value of 1 means the message has been opened.
RecActivityId String The unique identifier of the master activity in a recurring series, if applicable.
RecRule String The recurrence rule defining the schedule for a recurring activity in this update.
RecRuleExtension String Additional recurrence rule parameters that extend the base recurrence rule.
ReferenceId Integer The unique identifier of the object referenced by this update, such as a note or file.
ReferenceType String The type of object referenced by this update, such as note or file.
S3Bucket String The name of the Amazon S3 bucket where mail message content for this update is stored.
S3BucketPath String The path within the S3 bucket where mail message content for this update is stored.
SentFlag Integer Indicates whether a mail message in this update has been sent. A value of 1 means the message was sent.
SentFromPipedriveFlag Integer Indicates whether a mail message in this update was sent directly through Pipedrive. A value of 1 means it was sent from the Pipedrive interface.
Series String The series identifier for a recurring activity in this update.
SmartBccFlag Integer Indicates whether a mail message in this update was captured via Smart BCC.
Snippet String A short preview excerpt from a mail message body in this update.
SourceTimezone String The timezone of the source system where the activity in this update was originally created.
Subject String The subject line of a mail message in this update, or the title of an activity.
SyncedFlag Integer Indicates whether a mail message in this update has been synchronized with the external mail provider.
TemplateId String The identifier of the email template used to compose a mail message in this update.
Timestamp Datetime The date and time when this update record was last modified.
To String The primary recipients of a mail message in this update record.
Type String The type of update event, such as activity, note, change, or mailMessage.
UpdateTime Datetime The date and time when this update record was last modified.
UpdateUserId Integer The unique identifier of the user who last modified this update record.
UserId Integer The unique identifier of the user associated with this update record.
WriteFlag Boolean Indicates whether the current user has write access to this update record.
Object String The object type identifier returned by the Pipedrive API for this update record.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.
Items String Item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesAttachments

Returns the file attachments associated with activity feed updates for a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdatesAttachments WHERE DealId = 3
SELECT * FROM DealsUpdatesAttachments WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdatesAttachments WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the attachment record.
ActiveFlag Boolean Indicates whether this attachment record is active.
ActivityId String The unique identifier of the activity this attachment is associated with.
AddTime Datetime The date and time when this attachment was added.
Cid String The content identifier used to reference this attachment within the message body as an inline element.
DealName String The title of the deal this attachment is associated with.
DealId Integer The unique identifier of the deal whose update attachments are returned.
Description String The descriptive text associated with this attachment.
FileName String The file name of the attachment as stored in Pipedrive.
FileSize Integer The size of the attachment file in bytes.
FileType String The MIME type or file type category of the attachment.
InlineFlag Boolean Indicates whether this attachment is embedded inline within the message body rather than appended as a separate file.
LogId String The identifier of the activity feed log entry this attachment belongs to.
MailMessageId String The unique identifier of the mail message this attachment belongs to.
MailTemplateId String The identifier of the mail template associated with this attachment, if applicable.
Name String The display name of the attachment.
OrgId Integer The unique identifier of the organization associated with this attachment.
OrgName String The name of the organization associated with this attachment.
PeopleName String The name of the person associated with this attachment.
PersonId String The unique identifier of the person associated with this attachment.
PersonName String The name of the person associated with this attachment.
ProductId String The unique identifier of the product associated with this attachment, if applicable.
ProductName String The name of the product associated with this attachment, if applicable.
RemoteId String The identifier assigned to this attachment by the external storage provider.
RemoteLocation String The name of the external storage service where this attachment is hosted, such as s3 or googledrive.
S3Bucket String The name of the Amazon S3 bucket where this attachment is stored.
UpdateTime Datetime The date and time when this attachment record was last modified.
Url String The download URL for this attachment.
UserId Integer The unique identifier of the user who added this attachment.
LeadId Integer The unique identifier of the lead associated with this attachment, if applicable.
LeadName Integer The title of the lead associated with this attachment, if applicable.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String Item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesAttendees

Returns the attendees for activity feed updates associated with a specific deal.

Columns

Name Type References Description
DealId Integer The unique identifier of the deal whose activity attendees are returned.
EmailAddress String The email address of the attendee.
IsOrganizer Integer Indicates whether this attendee is the organizer of the activity. A value of 1 means the attendee is the organizer.
Name String The full name of the attendee.
Status String The attendance status of the attendee for the activity.
UserId String

Users.Id

The unique identifier of the Pipedrive user associated with this attendee.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String Item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesBcc

Returns the BCC recipients for mail message updates in the activity feed of a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdatesBcc WHERE DealId = 3
SELECT * FROM DealsUpdatesBcc WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdatesBcc WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the BCC recipient record.
DealId Integer The unique identifier of the deal whose mail message BCC recipients are returned.
EmailAddress String The email address of the BCC recipient.
PersonId String The unique identifier of the Pipedrive person record linked to this BCC recipient.
PersonName String The full name of the Pipedrive person record linked to this BCC recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this BCC recipient.
Name String The display name of the BCC recipient.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesCc

Returns the CC recipients for mail message updates in the activity feed of a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdatesCc WHERE DealId = 3 
SELECT * FROM DealsUpdatesCc WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdatesCc WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the CC recipient record.
PersonId String The unique identifier of the Pipedrive person record linked to this CC recipient.
DealId Integer The unique identifier of the deal whose mail message CC recipients are returned.
EmailAddress String The email address of the CC recipient.
PersonName String The full name of the Pipedrive person record linked to this CC recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this CC recipient.
Name String The display name of the CC recipient.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesFrom

Returns the sender details for mail message updates in the activity feed of a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdatesFrom WHERE DealId = 3 
SELECT * FROM DealsUpdatesFrom WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdatesFrom WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the sender record.
DealId Integer The unique identifier of the deal whose mail message senders are returned.
EmailAddress String The email address of the message sender.
PersonId String The unique identifier of the Pipedrive person record linked to the sender.
PersonName String The full name of the Pipedrive person record linked to the sender.
MessagePartyId Integer The unique identifier of the mail message party record for the sender.
Name String The display name of the message sender.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not

The allowed values are 1.

Items String item specific updates

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesParticipants

Returns the participants for activity updates in the activity feed of a specific deal.

Columns

Name Type References Description
PersonId [KEY] Integer The unique identifier of the person participating in the activity update.
DealId Integer The unique identifier of the deal whose activity participants are returned.
PrimaryFlag Boolean Indicates whether this person is the primary participant of the activity.
DealsUpdatesId [KEY] Integer

DealsUpdates.Id

DealsUpdates Id.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String Item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

DealsUpdatesTo

Returns the primary recipients for mail message updates in the activity feed of a specific deal.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM DealsUpdatesTo WHERE DealId = 3 
SELECT * FROM DealsUpdatesTo WHERE DealId = 246 AND AllChanges = 1
SELECT * FROM DealsUpdatesTo WHERE DealId = 246 AND Items IN ('activity', 'call')

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the recipient record.
DealId Integer The unique identifier of the deal whose mail message recipients are returned.
EmailAddress String The email address of the primary recipient.
PersonId String The unique identifier of the Pipedrive person record linked to this recipient.
PersonName String The full name of the Pipedrive person record linked to this recipient.
MessagePartyId Integer The unique identifier of the mail message party record for this recipient.
Name String The display name of the primary recipient.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

FilterHelpers

Returns all supported filter helper values used when constructing Pipedrive filters, including address field components, operator tokens for each data type, and relative date expressions.

Columns

Name Type References Description
AdminAreaLevel1 String The first-level administrative area component of an address, such as a state or province.
AdminAreaLevel2 String The second-level administrative area component of an address, such as a county or district.
Country String The country component of an address field.
FormattedAddress String The full formatted address string combining all address components.
Locality String The city or locality component of an address field.
PostalCode String The postal or ZIP code component of an address field.
Route String The street name or route component of an address field.
StreetNumber String The street number component of an address field.
Sublocality String The sub-locality component of an address field, such as a neighborhood or borough.
Subpremise String The sub-premise component of an address field, such as an apartment or suite number.
CurrencyNotEqual String The not-equal operator token for use with currency field filters.
CurrencyEqual String The equality operator token for use with currency field filters.
DateNotEqual String The not-equal operator token for use with date field filters.
DateLessThan String The less-than operator token for use with date field filters.
DateLessThanOrEqual String The less-than-or-equal operator token for use with date field filters.
DateEqual String The equality operator token for use with date field filters.
DateGreaterThan String The greater-than operator token for use with date field filters.
DateGreaterThanOrEqual String The greater-than-or-equal operator token for use with date field filters.
DateISNOTNULL String The IS NOT NULL operator token for use with date field filters.
DateISNULL String The IS NULL operator token for use with date field filters.
DateRangeNotEqual String The not-equal operator token for use with date range field filters.
DateRangeLessThan String The less-than operator token for use with date range field filters.
DateRangeLessThanOrEqual String The less-than-or-equal operator token for use with date range field filters.
DateRangeEqual String The equality operator token for use with date range field filters.
DateRangeGreaterThan String The greater-than operator token for use with date range field filters.
DateRangeGreaterThanOrEqual String The greater-than-or-equal operator token for use with date range field filters.
DateRangeDoesNotEndAt String The does-not-end-at operator token for use with date range field filters.
DateRangeEndsAfter String The ends-after operator token for use with date range field filters.
DateRangeEndsAt String The ends-at operator token for use with date range field filters.
DateRangeEndsBefore String The ends-before operator token for use with date range field filters.
DateRangeEndsEAfter String The ends-on-or-after operator token for use with date range field filters.
DateRangeEndsEBefore String The ends-on-or-before operator token for use with date range field filters.
DateRangeincludes String The includes operator token for use with date range field filters.
DateRangeISNOTNULL String The IS NOT NULL operator token for use with date range field filters.
DateRangeISNULL String The IS NULL operator token for use with date range field filters.
DealNotEqual String The not-equal operator token for use with deal field filters.
DealEqual String The equality operator token for use with deal field filters.
DealISNOTNULL String The IS NOT NULL operator token for use with deal field filters.
DealISNULL String The IS NULL operator token for use with deal field filters.
DoubleNotEqual String The not-equal operator token for use with decimal number field filters.
DoubleLessThan String The less-than operator token for use with decimal number field filters.
DoubleLessThanOrEqual String The less-than-or-equal operator token for use with decimal number field filters.
DoubleEqual String The equality operator token for use with decimal number field filters.
DoubleGreaterThan String The greater-than operator token for use with decimal number field filters.
DoubleGreaterThanOrEqual String The greater-than-or-equal operator token for use with decimal number field filters.
DoubleISNOTNULL String The IS NOT NULL operator token for use with decimal number field filters.
DoubleISNULL String The IS NULL operator token for use with decimal number field filters.
EnteredStageNotEqual String The not-equal operator token for use with entered-stage field filters.
EnteredStageLessThan String The less-than operator token for use with entered-stage field filters.
EnteredStageLessThanOrEqual String The less-than-or-equal operator token for use with entered-stage field filters.
EnteredStageEqual String The equality operator token for use with entered-stage field filters.
EnteredStageGreaterThan String The greater-than operator token for use with entered-stage field filters.
EnteredStageGreaterThanOrEqual String The greater-than-or-equal operator token for use with entered-stage field filters.
EnumNotEqual String The not-equal operator token for use with enumeration field filters.
EnumEqual String The equality operator token for use with enumeration field filters.
EnumISNOTNULL String The IS NOT NULL operator token for use with enumeration field filters.
EnumISNULL String The IS NULL operator token for use with enumeration field filters.
IntNotEqual String The not-equal operator token for use with integer field filters.
IntLessThan String The less-than operator token for use with integer field filters.
IntLessThanOrEqual String The less-than-or-equal operator token for use with integer field filters.
IntEqual String The equality operator token for use with integer field filters.
IntGreaterThan String The greater-than operator token for use with integer field filters.
IntGreaterThanOrEqual String The greater-than-or-equal operator token for use with integer field filters.
IntISNOTNULL String The IS NOT NULL operator token for use with integer field filters.
IntISNULL String The IS NULL operator token for use with integer field filters.
MonetaryNotEqual String The not-equal operator token for use with monetary field filters.
MonetaryLessThan String The less-than operator token for use with monetary field filters.
MonetaryLessThanOrEqual String The less-than-or-equal operator token for use with monetary field filters.
MonetaryEqual String The equality operator token for use with monetary field filters.
MonetaryGreaterThan String The greater-than operator token for use with monetary field filters.
MonetaryGreaterThanOrEqual String The greater-than-or-equal operator token for use with monetary field filters.
MonetaryISNOTNULL String The IS NOT NULL operator token for use with monetary field filters.
MonetaryISNULL String The IS NULL operator token for use with monetary field filters.
OrganizationNotEqual String The not-equal operator token for use with organization field filters.
OrganizationEqual String The equality operator token for use with organization field filters.
OrganizationISNOTNULL String The IS NOT NULL operator token for use with organization field filters.
OrganizationISNULL String The IS NULL operator token for use with organization field filters.
PersonNotEqual String The not-equal operator token for use with person field filters.
PersonEqual String The equality operator token for use with person field filters.
PersonISNOTNULL String The IS NOT NULL operator token for use with person field filters.
PersonISNULL String The IS NULL operator token for use with person field filters.
PipelineNotEqual String The not-equal operator token for use with pipeline field filters.
PipelineEqual String The equality operator token for use with pipeline field filters.
ProductNotEqual String The not-equal operator token for use with product field filters.
ProductEqual String The equality operator token for use with product field filters.
ProductISNOTNULL String The IS NOT NULL operator token for use with product field filters.
ProductISNULL String The IS NULL operator token for use with product field filters.
SetNotEqual String The not-equal operator token for use with set field filters.
SetEqual String The equality operator token for use with set field filters.
SetContains String The contains operator token for use with set field filters.
SetISNOTNULL String The IS NOT NULL operator token for use with set field filters.
SetISNULL String The IS NULL operator token for use with set field filters.
SetNotContains String The not-contains operator token for use with set field filters.
StageNotEqual String The not-equal operator token for use with stage field filters.
StageEqual String The equality operator token for use with stage field filters.
StageHasBeen String The has-been operator token for use with stage field filters, matching records that were ever in the specified stage.
StatusNotEqual String The not-equal operator token for use with status field filters.
StatusEqual String The equality operator token for use with status field filters.
TimeNotEqual String The not-equal operator token for use with time field filters.
TimeLessThan String The less-than operator token for use with time field filters.
TimeLessThanOrEqual String The less-than-or-equal operator token for use with time field filters.
TimeEqual String The equality operator token for use with time field filters.
TimeGreaterThan String The greater-than operator token for use with time field filters.
TimeGreaterThanOrEqual String The greater-than-or-equal operator token for use with time field filters.
TimeISNOTNULL String The IS NOT NULL operator token for use with time field filters.
TimeISNULL String The IS NULL operator token for use with time field filters.
TimerangeNotEqual String The not-equal operator token for use with time range field filters.
TimerangeLessThan String The less-than operator token for use with time range field filters.
TimerangeLessThanOrEqual String The less-than-or-equal operator token for use with time range field filters.
TimerangeEqual String The equality operator token for use with time range field filters.
TimerangeGreaterThan String The greater-than operator token for use with time range field filters.
TimerangeGreaterThanOrEqual String The greater-than-or-equal operator token for use with time range field filters.
TimerangedoesNotEndAt String The does-not-end-at operator token for use with time range field filters.
TimerangeEndsAfter String The ends-after operator token for use with time range field filters.
TimerangeEndsAt String The ends-at operator token for use with time range field filters.
TimerangeEndsBefore String The ends-before operator token for use with time range field filters.
TimerangeEndsEAfter String The ends-on-or-after operator token for use with time range field filters.
TimerangeEndsEBefore String The ends-on-or-before operator token for use with time range field filters.
TimerangeIncludes String The includes operator token for use with time range field filters.
TimerangeISNOTNULL String The IS NOT NULL operator token for use with time range field filters.
TimerangeISNULL String The IS NULL operator token for use with time range field filters.
TitleEqual String The equality operator token for use with title field filters.
TitleLIKE'$%' String The starts-with LIKE pattern operator token for use with title field filters.
TitleLIKE'%$' String The ends-with LIKE pattern operator token for use with title field filters.
TitleLIKE'%$%' String The contains LIKE pattern operator token for use with title field filters.
TitleNOTLIKE'$%' String The does-not-start-with NOT LIKE pattern operator token for use with title field filters.
TitleNOTLIKE'%$' String The does-not-end-with NOT LIKE pattern operator token for use with title field filters.
TitleNOTLIKE'%$%' String The does-not-contain NOT LIKE pattern operator token for use with title field filters.
UserNotEqual String The not-equal operator token for use with user field filters.
UserEqual String The equality operator token for use with user field filters.
UserBelongsToTeam String The belongs-to-team operator token for use with user field filters, matching users who are members of a specified team.
UserISNOTNULL String The IS NOT NULL operator token for use with user field filters.
UserISNULL String The IS NULL operator token for use with user field filters.
VarcharNotEqual String The not-equal operator token for use with text field filters.
VarcharEqual String The equality operator token for use with text field filters.
VarcharISNOTNULL String The IS NOT NULL operator token for use with text field filters.
VarcharISNULL String The IS NULL operator token for use with text field filters.
VarcharLIKE'$%' String The starts-with LIKE pattern operator token for use with text field filters.
VarcharLIKE'%$' String The ends-with LIKE pattern operator token for use with text field filters.
VarcharLIKE'%$%' String The contains LIKE pattern operator token for use with text field filters.
VarcharNOTLIKE'$%' String The does-not-start-with NOT LIKE pattern operator token for use with text field filters.
VarcharNOTLIKE'%$' String The does-not-end-with NOT LIKE pattern operator token for use with text field filters.
VarcharNOTLIKE'%$%' String The does-not-contain NOT LIKE pattern operator token for use with text field filters.
VisibletoNotEqual String The not-equal operator token for use with visibility field filters.
VisibletoEqual String The equality operator token for use with visibility field filters.
RottenTime String The relative date token representing the time at which a deal becomes rotten, for use in deal-specific date filters.
LastMonth String The relative date interval token representing the previous calendar month.
LastQuarter String The relative date interval token representing the previous calendar quarter.
LastWeek String The relative date interval token representing the previous calendar week.
NextMonth String The relative date interval token representing the next calendar month.
NextWeek String The relative date interval token representing the next calendar week.
ThisMonth String The relative date interval token representing the current calendar month.
ThisQuarter String The relative date interval token representing the current calendar quarter.
ThisWeek String The relative date interval token representing the current calendar week.
OnemonthsAgo String The relative date token representing a point one month before today.
OneweekAgo String The relative date token representing a point one week before today.
TwoMonthsAgo String The relative date token representing a point two months before today.
TwoWeeksAgo String The relative date token representing a point two weeks before today.
ThreeMonthsAgo String The relative date token representing a point three months before today.
ThreeWeeksAgo String The relative date token representing a point three weeks before today.
FourMonthsAgo String The relative date token representing a point four months before today.
FiveMonthsAgo String The relative date token representing a point five months before today.
SixMonthsAgo String The relative date token representing a point six months before today.
BeforeToday String The relative date token representing any date before today.
BeforeTomorrow String The relative date token representing any date before tomorrow, effectively including today.
InOneMonth String The relative date token representing a point one month from today.
InOneWeek String The relative date token representing a point one week from today.
InTwoMonths String The relative date token representing a point two months from today.
InTwoWeeks String The relative date token representing a point two weeks from today.
InThreeMonths String The relative date token representing a point three months from today.
InThreeWeeks String The relative date token representing a point three weeks from today.
InFourMonths String The relative date token representing a point four months from today.
InFiveMonths String The relative date token representing a point five months from today.
InSixMonths String The relative date token representing a point six months from today.
LaterOrToday String The relative date token representing today or any date after today.
LaterOrTomorrow String The relative date token representing tomorrow or any date after tomorrow.
Now String The relative date token representing the current date and time.
Today String The relative date token representing today's date.
Tomorrow String The relative date token representing tomorrow's date.
Yesterday String The relative date token representing yesterday's date.

CData Python Connector for Pipedrive

FindUsersByName

Finds users by their name.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Term=
SearchByEmail=

For example, the following query is processed server-side:

SELECT * FROM FindUsersByName WHERE Term = 'name'

Columns

Name Type References Description
Id [KEY] Integer ID of the user.
Activated Boolean Indicates whether the user account has been activated.
ActiveFlag Boolean Whether the user is active or not.

The default value is true.

Created Datetime The date and time when the user account was created.
DefaultCurrency String The ISO currency code set as the default currency for this user.
Email String Email of the user.
Hascreatedcompany Boolean Indicates whether the user has created a company account in Pipedrive.
IconUrl String The URL of the user's profile picture or avatar.
IsAdmin Integer Indicates whether the user has administrator privileges. A value of 1 means the user is an admin.
IsYou Boolean Indicates whether this user record represents the currently authenticated user.
Lang Integer The language code identifier used for this user's Pipedrive interface.
LastLogin Datetime The date and time of the user's most recent login to Pipedrive.
Locale String The locale string that determines date, time, and number formatting for this user.
Modified Datetime The date and time when the user account was last modified.
Name String Name of the user.
Phone String The phone number associated with the user account.
RoleId Integer ID of the role.
TimezoneName String The IANA timezone name used to localize dates and times for this user, such as America/New_York.
TimezoneOffset String The UTC offset string representing the user's timezone, such as +05:30.
Access String The access given to the user.
Term String The search term to look for.
SearchByEmail Integer When enabled, the term will only be matched against email addresses of users.

The default value is false.

CData Python Connector for Pipedrive

LeadPermittedUsers

Get all permitted users for leads in a single company

View-Specific Information

SELECT

The connector uses the Pipedrive The filter is executed client-side within the connector.

SELECT * FROM LeadPermittedUsers

Columns

Name Type References Description
PermittedUsersAggregate String A list of permitted users for a lead.
LeadId String

Leads.Id

The ID of the Lead.

CData Python Connector for Pipedrive

LeadsArchived

Returns all archived leads from the Pipedrive account, including associated person, organization, label, and value details.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrganizationId=
OwnerId=
PersonId=
FilterId=

For example, the following queries are processed server-side:

SELECT * FROM LeadsArchived

SELECT * FROM LeadsArchived WHERE OrganizationId = 4

SELECT * FROM LeadsArchived WHERE OwnerId = 28073042

SELECT * FROM LeadsArchived WHERE PersonId = 1

SELECT * FROM LeadsArchived WHERE FilterId = 1

Order by is supported server-side for following columns: Id, AddTime, CreatorId, ExpectedCloseDate, NextActivityId, OwnerId, Title, UpdateTime, WasSeen.

Columns

Name Type References Description
Id [KEY] String The ID of the Lead.
AddTime Datetime The date and time when the lead was created.
ArchiveTime Datetime The date and time when the lead was archived.
CcEmail String The BCC email address associated with this lead, used to automatically log emails sent to it.
CreatorId Integer The ID of the user who created the lead.
ExpectedCloseDate Date The date of when the Deal which will be created from the Lead is expected to be closed.
IsArchived Boolean A flag indicating whether the Lead is archived or not.
LabelIds String The IDs of the Lead Labels which will be associated with the Lead.
NextActivityId Integer The ID of the next scheduled activity linked to this lead.
OrganizationId Integer The ID of an Organization which this Lead will be linked to.
OwnerId Integer The ID of the User which will be the owner of the created Lead.
PersonId Integer The ID of a Person which this Lead will be linked to.
SourceName String The name of the channel or integration that was the source of this lead.
Title String The name of the Lead.
UpdateTime Datetime The date and time when the lead was last updated.
Amount Integer The potential value of the Lead.
Currency String The ISO 4217 currency code for the lead's monetary value.
VisibleTo String The visibility level of the lead, controlling which users can see it. Accepted values: 1 (owner only), 3 (owner's visibility group), 5 (owner's and sub-groups), 7 (entire company).

The allowed values are 1, 3, 5, 7.

WasSeen Boolean A flag indicating whether the Lead was seen by someone in the Pipedrive UI.
Origin String The origin of the lead.
OriginId String The optional ID to further distinguish the origin of the lead.
Channel Integer The ID of Marketing channel this lead was created from.
ChannelId String The optional ID to further distinguish the Marketing channel.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer Filter Id

CData Python Connector for Pipedrive

LeadSources

Returns all lead source values available in the Pipedrive account for categorizing the origin of leads.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

For example, the following query is processed server-side:

SELECT * FROM LeadSources

Columns

Name Type References Description
Name String The name of the lead source, identifying where the lead originated.

CData Python Connector for Pipedrive

MailMessages

Returns metadata and status flags for mail threads, including sender and recipient parties, folder assignment, timestamps, and linked deal information.

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail thread.
PartiesTo String Recipients of the mail thread.
PartiesFrom String Senders of the mail thread.
DraftParties String Parties associated with draft messages in the thread.
Folders String Mail folders to which the thread belongs, such as inbox or sent.
AccountId String Identifier of the mail account associated with the thread.
UserId Integer Identifier of the Pipedrive user who owns the mail thread.
Version Integer Version number of the mail thread record, incremented on each update.
Subject String Subject line of the mail thread.
Snippet String Short preview text of the most recent message in the thread.
SnippetDraft String Preview text of the most recent draft message in the thread.
SnippetSent String Preview text of the most recent sent message in the thread.
HasAttachmentsFlag Integer Indicates whether the thread contains any attachments. A value of 1 means attachments are present.
HasInlineAttachmentsFlag Integer Indicates whether the thread contains inline attachments embedded in the message body. A value of 1 means inline attachments are present.
HasRealAttachmentsFlag Integer Indicates whether the thread contains file attachments that are not inline. A value of 1 means real attachments are present.
HasDraftFlag Integer Indicates whether the thread contains at least one draft message. A value of 1 means a draft exists.
HasSentFlag Integer Indicates whether the thread contains at least one sent message. A value of 1 means a sent message exists.
ArchivedFlag Integer Indicates whether the thread has been archived. A value of 1 means the thread is archived.
DeletedFlag Integer Indicates whether the thread has been deleted. A value of 1 means the thread is marked as deleted.
SyncedFlag Integer Indicates whether the thread has been synchronized with the external mail provider. A value of 1 means the thread is synced.
ExternalDeletedFlag Integer Indicates whether the thread has been deleted in the external mail provider. A value of 1 means the thread is externally deleted.
SmartBccFlag Integer Indicates whether the thread was captured via Pipedrive Smart BCC. A value of 1 means Smart BCC was used.
FirstMessageToMeFlag Integer Indicates whether the first message in the thread was addressed to the authenticated user. A value of 1 means the thread started with a message to the user.
MailLinkTrackingEnabledFlag Integer Indicates whether link tracking is enabled for messages in this thread. A value of 1 means link tracking is active.
LastMessageTimestamp String Timestamp of the most recent message in the thread, whether sent or received.
FirstMessageTimestamp String Timestamp of the first message in the thread.
LastMessageSentTimestamp String Timestamp of the most recent outbound message sent within the thread.
LastMessageReceivedTimestamp String Timestamp of the most recent inbound message received within the thread.
AddTime String Date and time when the mail thread was added to Pipedrive.
UpdateTime String Date and time when the mail thread was last updated.
DealId Integer Identifier of the deal linked to this mail thread.
DealStatus Integer Status of the deal linked to this mail thread, such as open, won, or lost.
AllMessagesSentFlag Integer Indicates whether all messages in the thread have been sent. A value of 1 means no unsent or draft messages remain.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Folder String The type of folder to fetch.

CData Python Connector for Pipedrive

MailThreadMessages

Returns all individual mail messages within a specified mail thread, including sender, recipient, and status details for each message.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
MailThreadId=

For example, the following query is processed server-side:

SELECT * FROM MailThreadMessages WHERE MailThreadId = 145

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail message.
MailThreadId Integer Identifier of the mail thread that contains this message.
To String Recipients of the mail message.
From String Senders of the mail message.
Cc String Carbon copy recipients of the mail message.
Bcc String Blind carbon copy recipients of the mail message.
BodyUrl String URL pointing to the full body content of the mail message.
AccountId String Identifier of the mail account from which this message was sent or received.
UserId Integer Identifier of the Pipedrive user associated with this mail message.
Subject String Subject line of the mail message.
Snippet String Short preview text extracted from the body of the mail message.
MailTrackingStatus String Open and click tracking status for the mail message, indicating whether the recipient has opened the message.
MailLinkTrackingEnabledFlag Integer Indicates whether link tracking is enabled for this message. A value of 1 means link clicks are tracked.
ReadFlag Integer Indicates whether the message has been read. A value of 1 means the message has been read.
Draft String Draft status indicator for the message, representing the current draft state.
DraftFlag Integer Indicates whether the message is a draft. A value of 1 means the message has not been sent.
SyncedFlag Integer Indicates whether the message has been synchronized with the external mail provider. A value of 1 means the message is synced.
DeletedFlag Integer Indicates whether the message has been deleted. A value of 1 means the message is marked as deleted.
HasBodyFlag Integer Indicates whether the message has a retrievable body. A value of 1 means the body content is available.
SentFlag Integer Indicates whether the message has been sent. A value of 1 means the message was successfully sent.
SentFromPipeDriveFlag Integer Indicates whether the message was sent directly from the Pipedrive application. A value of 1 means Pipedrive was the sending application.
SmartBccFlag Integer Indicates whether the message was captured in Pipedrive via Smart BCC. A value of 1 means Smart BCC was used.
MessageTime String Date and time when the mail message was sent or received.
AddTime String Date and time when the message record was added to Pipedrive.
UpdateTime String Date and time when the message record was last updated.
HasAttachmentsFlag Integer Indicates whether the message contains any attachments. A value of 1 means attachments are present.
HasInlineAttachmentsFlag Integer Indicates whether the message contains inline attachments embedded in the body. A value of 1 means inline attachments are present.
HasRealAttachmentsFlag Integer Indicates whether the message contains file attachments that are not inline. A value of 1 means real attachments are present.

CData Python Connector for Pipedrive

MailThreadMessagesFrom

Returns the sender details for each mail message within a specified mail thread, including email address and linked person information.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
MailThreadId=

For example, the following query is processed server-side:

SELECT * FROM MailThreadMessagesFrom WHERE MailThreadId = 2

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail message.
MailThreadId Integer Identifier of the mail thread that contains this message.
EmailAddress String Email address of the sender of the mail message.
Name String Display name of the sender of the mail message.
LinkedPersonId Integer Identifier of the Pipedrive person record linked to the sender.
LinkedPersonName String Name of the Pipedrive person record linked to the sender.
MailMessagePartyId Integer Identifier of the mail message party record representing the sender.

CData Python Connector for Pipedrive

MailThreadMessagesTo

Returns the recipient details for each mail message within a specified mail thread, including email address and linked person information.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
MailThreadId=

For example, the following query is processed server-side:

SELECT * FROM MailThreadMessagesTo WHERE MailThreadId = 2

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail message.
MailThreadId Integer Identifier of the mail thread that contains this message.
EmailAddress String Email address of the recipient of the mail message.
Name String Display name of the recipient of the mail message.
LinkedPersonId Integer Identifier of the Pipedrive person record linked to the recipient.
LinkedPersonName String Name of the Pipedrive person record linked to the recipient.
MailMessagePartyId Integer Identifier of the mail message party record representing the recipient.

CData Python Connector for Pipedrive

MailThreadsFrom

Returns sender party details for mail threads, including the email address, linked person, and linked organization for each thread sender.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Folder=

For example, the following query is processed server-side:

SELECT * FROM MailThreadsFrom WHERE Folder = 'inbox'

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail thread.
Name String Display name of the sender of the mail thread.
LatestSent Boolean Indicates whether this sender sent the most recent message in the thread.
EmailAddress String Email address of the sender of the mail thread.
MessageTime String Timestamp of the message sent by this sender within the thread.
LinkedPersonId Integer Identifier of the Pipedrive person record linked to the sender.
LinkedPersonName String Name of the Pipedrive person record linked to the sender.
LinkedOrganizationId String Identifier of the Pipedrive organization record linked to the sender.
MailMessagePartyId Integer Identifier of the mail message party record representing the sender.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Folder String The type of folder to fetch.

CData Python Connector for Pipedrive

MailThreadsTo

Returns recipient party details for mail threads, including the email address, linked person, and linked organization for each thread recipient.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Folder=

For example, the following query is processed server-side:

SELECT * FROM MailThreadsTo WHERE Folder = 'inbox'

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail thread.
Name String Display name of the recipient of the mail thread.
LatestSent Boolean Indicates whether the most recent message in the thread was sent to this recipient.
EmailAddress String Email address of the recipient of the mail thread.
MessageTime String Timestamp of the message addressed to this recipient within the thread.
LinkedPersonId Integer Identifier of the Pipedrive person record linked to the recipient.
LinkedPersonName String Name of the Pipedrive person record linked to the recipient.
LinkedOrganizationId String Identifier of the Pipedrive organization record linked to the recipient.
MailMessagePartyId Integer Identifier of the mail message party record representing the recipient.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Folder String The type of folder to fetch.

CData Python Connector for Pipedrive

NoteFields

Returns data about all note fields.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

For example, the following query is processed server-side:

SELECT * FROM NoteFields

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the note field.
ActiveFlag Boolean Indicates whether the note field is currently active.
BulkEditAllowed Boolean Indicates whether the field can be edited across multiple note records simultaneously.
EditFlag Boolean Indicates whether the field can be edited by the current user.
FieldType String The data type of the field, such as varchar, text, or date.
Key String The internal API key used to reference this field in API requests.
MandatoryFlag Boolean Indicates whether the field is required when creating or updating a note.
Name String The display name of the note field as it appears in the Pipedrive interface.
Options String The list of available options for enum or set field types, returned as an aggregate.

CData Python Connector for Pipedrive

NoteFieldsOptions

Returns the selectable option values for note fields that use enumeration or set data types.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

For example, the following query is processed server-side:

SELECT * FROM NoteFieldsOptions

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the option value.
Label String The display label of the option as it appears to users in the Pipedrive interface.

CData Python Connector for Pipedrive

OrganizationFieldsOptions

Returns the predefined option values for enumeration-type organization fields, including each option's ID and display label.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrganizationFieldId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationFieldsOptions WHERE OrganizationFieldId = 123

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the field option.
Label String Display label of the field option as shown in the Pipedrive user interface.
OrganizationFieldId [KEY] Integer

OrganizationFields.Id

Unique identifier of the organization field to which this option belongs.

CData Python Connector for Pipedrive

OrganizationsFiles

Returns files attached to a specified organization, including file metadata and links to associated deals, persons, and products.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsFiles WHERE OrgId = 6 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the file.
ActiveFlag Boolean Indicates whether the file is active and not deleted.
ActivityId String The identifier of the activity this file is associated with, if any.
AddTime Datetime The date and time when the file was uploaded.
Cid String The content identifier (CID) used when the file is embedded inline in an email.
DealId String The identifier of the deal this file is associated with, if any.
DealName String The title of the deal this file is associated with.
Description String A user-provided description of the file.
FileName String The original file name of the uploaded file.
FileSize Integer The size of the file in bytes.
FileType String The MIME type or category of the file (for example, image/png or application/pdf).
InlineFlag Boolean Indicates whether the file is embedded inline in an email rather than attached as a separate file.
LogId String The identifier of the changelog log entry associated with this file.
MailMessageId String The identifier of the mail message this file is attached to, if any.
MailTemplateId String The identifier of the mail template this file is associated with, if any.
Name String The display name of the file as shown in Pipedrive.
OrgId Integer The identifier of the organization this file is attached to.
OrgName String The name of the organization this file is attached to.
PeopleName String The name of the person this file is associated with, if any.
PersonId String The identifier of the person this file is associated with, if any.
PersonName String The name of the person this file is associated with.
ProductId String The identifier of the product this file is associated with, if any.
ProductName String The name of the product this file is associated with.
RemoteId String The identifier of the file in its remote storage system (for example, Google Drive).
RemoteLocation String The name of the remote storage service where the file is hosted (for example, googledrive or s3).
S3Bucket String The Amazon S3 bucket name where the file is stored.
UpdateTime Datetime The date and time when the file record was last updated.
Url String The download URL for accessing the file.
UserId Integer The identifier of the user who uploaded the file.
LeadId String The identifier of the lead this file is associated with, if any.
LeadName String The title of the lead this file is associated with.

CData Python Connector for Pipedrive

OrganizationsMailMessages

Returns mail messages associated with a specified organization, including message metadata, flags, and recipient lists.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsMailMessages WHERE OrgId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message.
OrgId Integer

Organizations.Id

The identifier of the organization this mail message is associated with.
AccountId String The identifier of the email account that sent or received this message.
AddTime Datetime The date and time when the mail message was added to Pipedrive.
Bcc String The BCC recipients of the mail message, returned as a JSON array.
BodyUrl String The URL to retrieve the full body content of the mail message.
Cc String The CC recipients of the mail message, returned as a JSON array.
CompanyId Integer The identifier of the Pipedrive company account that owns this mail message.
DeletedFlag Boolean Indicates whether the mail message has been deleted within Pipedrive.
Draft String The draft status value of the mail message.
DraftFlag Boolean Indicates whether the mail message is saved as a draft.
ExternalDeletedFlag Boolean Indicates whether the mail message has been deleted in the external email provider.
From String The sender of the mail message, returned as a JSON array.
AttachmentsFlag Boolean Indicates whether the mail message has any file attachments.
BodyFlag Boolean Indicates whether the mail message has a body content.
InlineAttachmentsFlag Boolean Indicates whether the mail message has inline (embedded) attachments.
RealAttachmentsFlag Boolean Indicates whether the mail message has real (non-inline) file attachments.
ItemType String The type of item this mail message is associated with (for example, deal or person).
TrackingEnabledFlag Boolean Indicates whether link tracking is enabled for this mail message.
ThreadId Integer The identifier of the mail thread this message belongs to.
TrackingStatus String The open or click tracking status for this mail message.
MessageTime String The date and time when the mail message was sent or received.
MessageId String The unique mail user agent (MUA) message identifier assigned by the email client.
NylasId String The identifier assigned to this message by the Nylas email synchronization service.
ReadFlag Boolean Indicates whether the mail message has been read.
S3Bucket String The Amazon S3 bucket name where the message body is stored.
S3BucketPath String The path within the Amazon S3 bucket where the message body is stored.
SentFlag Boolean Indicates whether the mail message was sent (as opposed to received).
SentFromPipedriveFlag Boolean Indicates whether the mail message was sent directly from within Pipedrive.
SmartBccFlag Boolean Indicates whether this mail message was captured via Pipedrive's Smart BCC feature.
Snippet String A short text preview of the mail message body.
Subject String The subject line of the mail message.
SyncedFlag Boolean Indicates whether the mail message has been synchronized from an external email provider.
TemplateId String The identifier of the email template used to compose this mail message, if any.
Timestamp Datetime The timestamp of when the mail message was recorded in the system.
To String The direct recipients of the mail message, returned as a JSON array.
UpdateTime Datetime The date and time when the mail message record was last updated.
UserId Integer The identifier of the user associated with this mail message.
WriteFlag Boolean Indicates whether the current user has write access to this mail message.
Object String The type of the response object returned by the Pipedrive API.

CData Python Connector for Pipedrive

OrganizationsMailMessagesBcc

Returns the BCC recipients for mail messages associated with a specified organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsMailMessagesBcc WHERE OrgId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message party record.
OrgId Integer

Organizations.Id

The identifier of the organization whose mail message BCC recipients are returned.
EmailAddress String The email address of the BCC recipient.
PersonId Integer The identifier of the Pipedrive person record linked to this BCC recipient.
PersonName String The name of the Pipedrive person record linked to this BCC recipient.
MessagePartyId Integer The unique identifier for this recipient's entry in the mail message party list.
Name String The display name of the BCC recipient.

CData Python Connector for Pipedrive

OrganizationsMailMessagesCc

Returns the CC recipients for mail messages associated with a specified organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsMailMessagesCc WHERE OrgId = 246

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message party record.
OrgId Integer

Organizations.Id

The identifier of the organization whose mail message CC recipients are returned.
EmailAddress String The email address of the CC recipient.
PersonId String The identifier of the Pipedrive person record linked to this CC recipient.
PersonName String The name of the Pipedrive person record linked to this CC recipient.
MessagePartyId Integer The unique identifier for this recipient's entry in the mail message party list.
Name String The display name of the CC recipient.

CData Python Connector for Pipedrive

OrganizationsMailMessagesFrom

Returns the sender records for mail messages associated with a specified organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsMailMessagesFrom WHERE OrgId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message party record.
OrgId Integer

Organizations.Id

The identifier of the organization whose mail message senders are returned.
EmailAddress String The email address of the sender.
PersonId String The identifier of the Pipedrive person record linked to this sender.
PersonName String The name of the Pipedrive person record linked to this sender.
MessagePartyId Integer The unique identifier for this sender's entry in the mail message party list.
Name String The display name of the sender.

CData Python Connector for Pipedrive

OrganizationsMailMessagesTo

Returns the direct recipients for mail messages associated with a specified organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsMailMessagesTo WHERE OrgId = 246 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the mail message party record.
OrgId Integer

Organizations.Id

The identifier of the organization whose mail message direct recipients are returned.
EmailAddress String The email address of the direct recipient.
PersonId String The identifier of the Pipedrive person record linked to this recipient.
PersonName String The name of the Pipedrive person record linked to this recipient.
MessagePartyId Integer The unique identifier for this recipient's entry in the mail message party list.
Name String The display name of the direct recipient.

CData Python Connector for Pipedrive

OrganizationsPermittedUsers

Returns the identifiers of users who have permission to access a specified organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=

For example, the following query is processed server-side:

SELECT * FROM OrganizationsPermittedUsers WHERE OrgId = 10 

Columns

Name Type References Description
OrgId Integer The identifier of the organization whose permitted users are returned.
UserId Integer The identifier of a user who has permission to access this organization.

CData Python Connector for Pipedrive

OrganizationsUpdates

Returns the activity and change history for a specified organization, including details about activities, field changes, notes, files, and other timeline events associated with that organization.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM OrganizationsUpdates WHERE OrgId = 246 

SELECT * FROM OrganizationsUpdates WHERE OrgId = 10 AND AllChanges = 1

SELECT * FROM OrganizationsUpdates WHERE OrgId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the update or activity record.
ActiveFlag Boolean Indicates whether the associated item is currently active.
ActivityId String Unique identifier of the activity associated with this update event.
AddTime Datetime Timestamp indicating when the update record was created.
NewValueFormatted String Human-readable formatted representation of the new field value after a change.
OldValueFormatted String Human-readable formatted representation of the previous field value before a change.
AssignedToUserId Integer Unique identifier of the user to whom the associated activity or item is assigned.
Attendees String JSON-encoded list of attendees associated with the activity update.
BusyFlag Boolean Indicates whether the activity is marked as busy, blocking time on the assignee's calendar.
IncludeContext String Calendar synchronization context setting that controls what context is included when syncing the activity to an external calendar.
ChangeSource String Identifies the source that initiated the field change, such as an API call or the web application.
User_agent String User agent string of the client that submitted the change, providing additional context about the change source.
Cid String Correlation identifier used to group related change events within a single transaction.
CompanyId Integer Unique identifier of the Pipedrive company account associated with this update.
ConferenceMeetingClient String Name of the conferencing client used for the meeting, such as Zoom or Google Meet.
ConferenceMeetingId String Unique identifier of the conference meeting within the conferencing platform.
ConferenceMeetingUrl String URL link to join the conference meeting.
CreatedByUserId Integer Unique identifier of the user who created the update or activity record.
DealDropboxBcc String BCC email address for the deal dropbox, used to associate incoming emails with the deal.
DealId Integer Unique identifier of the deal associated with this update, if applicable.
DealName String Name of the deal associated with this update.
DealTitle String Title of the deal associated with this update.
Description String Descriptive text for the update event, such as the body of a note or activity description.
Done Boolean Indicates whether the associated activity has been marked as done.
DueDate Date Date on which the associated activity is due.
DueTime Time Time at which the associated activity is due on its due date.
Duration Time Duration of the associated activity in HH:MM format.
FieldKey String Key of the field that was changed, used to identify which field the change event relates to.
FileCleanName String Sanitized display name of the file attached to this update.
FileId String Unique identifier of the file attached to this update.
FileUrl String Download or access URL for the file attached to this update.
FileName String Original file name of the file attached to this update.
FileSize Integer Size of the attached file in bytes.
FileType String MIME type or file format of the attached file.
GcalEventId String Unique identifier of the corresponding event in Google Calendar, if the activity is synced.
GoogleCalendarEtag String ETag value of the Google Calendar event, used for change detection during synchronization.
GoogleCalendarId String Unique identifier of the Google Calendar to which the activity is synced.
InlineFlag Boolean Indicates whether the attached file is displayed inline within the update feed.
IsBulkUpdateFlag String Indicates whether this change was applied as part of a bulk update operation.
ItemId Integer Unique identifier of the item referenced by this update event.
LastNotificationTime Datetime Timestamp of the most recent notification sent for this update.
LastNotificationUserId Integer Unique identifier of the user who received the most recent notification for this update.
LeadId String Unique identifier of the lead associated with this update, if applicable.
Location String Location of the associated activity, as entered by the user.
AdminAreaLevel1 String First-level administrative area of the activity location, such as a state or province.
AdminAreaLevel2 String Second-level administrative area of the activity location, such as a county or district.
Country String Country of the activity location.
FormattedAddress String Full formatted address of the activity location.
Lat Double Latitude coordinate of the activity location.
Locality String City or locality of the activity location.
Long Double Longitude coordinate of the activity location.
PostalCode String Postal or ZIP code of the activity location.
Route String Street or route name of the activity location.
StreetNumber String Street number of the activity location address.
Sublocality String Sublocality or neighborhood of the activity location, such as a borough or district within a city.
Subpremise String Subpremise of the activity location, such as an apartment or suite number.
LogId String Unique identifier of this log entry in the organization's activity feed.
LogTime Datetime Timestamp indicating when this update was logged in the activity feed.
MessageId String Unique identifier of the mail message associated with this update, if the update event is an email.
TemplateId String Unique identifier of the mail template used to generate the email message associated with this update.
MarkedAsDoneTime Datetime Timestamp indicating when the associated activity was marked as done.
Name String Name of the object or record associated with this update event.
NewValue String Raw new value of the field after the change event.
Note String Text content of the note associated with this update, if the update event is a note.
NotificationLanguageId Integer Identifier of the language used for notifications related to this update.
OldValue Integer Raw previous value of the field before the change event.
OrgId Integer Unique identifier of the organization whose updates are returned.
OrgName String Name of the organization associated with this update.
OwnerName String Full name of the owner of the organization at the time of the update.
Participants String JSON-encoded list of participants associated with the activity update.
PeopleName String Name of the person associated with this update event, if applicable.
PersonDropboxBcc String BCC email address for the person dropbox, used to associate incoming emails with the person.
PersonId Integer Unique identifier of the person associated with this update event.
PersonName String Full name of the person associated with this update.
ProductId String Unique identifier of the product associated with this update, if applicable.
ProductName String Name of the product associated with this update.
PublicDescription String Public-facing description of the activity associated with this update.
RecActivityId String Unique identifier of the master recurring activity from which this activity instance was generated.
RecRule String Recurrence rule (RRULE) string defining the schedule for a recurring activity.
RecRuleExtension String Extension data for the recurrence rule, used to store additional scheduling configuration.
ReferenceId Integer Unique identifier of the referenced object associated with this update event.
ReferenceType String Type of the object referenced by this update event, such as deal, person, or organization.
RemoteId String Identifier of the corresponding record in the remote storage system, such as a cloud file storage service.
RemoteLocation String Name or identifier of the remote storage location where the associated file is stored.
S3Bucket String Name of the Amazon S3 bucket where the associated file is stored.
Series String Series identifier for grouped or recurring update events.
Sourcetimezone String Timezone of the source system that originated the activity, used for accurate time interpretation.
Subject String Subject or title of the activity associated with this update.
Type String Type of the activity associated with this update, such as call, meeting, or task.
UpdateTime Datetime Timestamp indicating when the update record was last modified.
UpdateUserId Integer Unique identifier of the user who last modified the update record.
Url String URL associated with this update event, such as a link to a file or external resource.
UserId Integer Unique identifier of the user associated with this update event.
Object String Type name of the Pipedrive object this update event relates to, such as activity or note.
Timestamp Datetime Timestamp indicating when this update event occurred in the activity feed.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, doneActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, lead, leadChange, mailMessage, draftMailMessage, sentMailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

OrganizationsUpdatesAttendees

Returns the attendees of activity update events associated with a specified organization, including each attendee's name, email address, organizer status, and attendance status.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM OrganizationsUpdatesAttendees WHERE OrgId = 246 

SELECT * FROM OrganizationsUpdatesAttendees WHERE OrgId = 10 AND AllChanges = 1

SELECT * FROM OrganizationsUpdatesAttendees WHERE OrgId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
OrgId [KEY] Integer

Organizations.Id

Unique identifier of the organization whose activity update attendees are returned.
EmailAddress String Email address of the activity attendee.
IsOrganizer Boolean Indicates whether the attendee is the organizer of the activity.
Name String Full name of the activity attendee.
PersonId Integer

Persons.Id

Unique identifier of the Pipedrive person record corresponding to this attendee, if applicable.
Status String Attendance status of the attendee for the activity, such as accepted or declined.
UserId String

Users.Id

Unique identifier of the Pipedrive user corresponding to this attendee, if the attendee is a registered user.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, doneActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, lead, leadChange, mailMessage, draftMailMessage, sentMailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

OrganizationsUpdatesParticipants

Returns the participants of activity update events associated with a specified organization, including each participant's person ID and whether they are the primary participant.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
OrgId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM OrganizationsUpdatesParticipants WHERE OrgId = 246 

SELECT * FROM OrganizationsUpdatesParticipants WHERE OrgId = 10 AND AllChanges = 1

SELECT * FROM OrganizationsUpdatesParticipants WHERE OrgId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
OrgId [KEY] Integer

Organizations.Id

Unique identifier of the organization whose activity update participants are returned.
PersonId Integer Unique identifier of the person who is a participant in the activity.
PrimaryFlag Boolean Indicates whether this participant is the primary participant of the activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, doneActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, lead, leadChange, mailMessage, draftMailMessage, sentMailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

PermissionSets

Returns all permission sets defined in the company, including their names, types, and user assignment counts.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions using the following columns and operators. The connector executes the rest of the filter client-side.

ColumnSupported Operators
Id=
App=

For example, the connector processes the following queries server-side:

SELECT * FROM PermissionSets WHERE Id = 'a3d3f720-154f-11ec-905b-d96b2abf3c60'
SELECT * FROM PermissionSets WHERE App = 'sales'

Columns

Name Type References Description
Id [KEY] String ID of the permission set.
AssignmentCount Integer The number of users currently assigned to this permission set.
Name String The display name of the permission set.
Type String The category of the permission set, such as admin or regular user.
Description String A human-readable description of the permission set and its intended use.
App String The Pipedrive application to which this permission set applies.

CData Python Connector for Pipedrive

PermissionSetsAssignments

Returns the users assigned to a specific permission set, showing which users operate under each set of permissions.

Columns

Name Type References Description
Name String The name of the user assigned to the permission set.
PermissionSetId [KEY] String

PermissionSets.Id

The unique identifier of the permission set to retrieve assignments for.
UserId [KEY] Integer

Users.Id

The unique identifier of the user assigned to the permission set.

CData Python Connector for Pipedrive

PersonFieldsOptions

Returns the selectable options for enum and set type person fields. Each row represents one option value available for a given person field.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonFieldId=

For example, the following query is processed server-side:

SELECT * FROM PersonFieldsOptions WHERE PersonFieldId = 123

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the field option.
Label String The display label shown to users when selecting this option in Pipedrive.
PersonFieldId [KEY] Integer

PersonFields.Id

The ID of the parent person field that owns this option.

CData Python Connector for Pipedrive

PersonsFiles

Returns all files attached to a specific person in Pipedrive, including file metadata and links to associated deals, organizations, and leads.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsFiles WHERE PersonId = 6 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the file.
ActiveFlag Boolean Indicates whether the file is active and has not been deleted.
ActivityId String Identifier of the activity to which the file is attached.
AddTime Datetime Date and time when the file was uploaded.
Cid String Content identifier used for inline file references in email messages.
DealId String Identifier of the deal to which the file is attached.
DealName String Title of the deal to which the file is attached.
Description String User-provided description of the file contents.
FileName String Original file name as it was uploaded.
FileSize Integer Size of the file in bytes.
FileType String MIME type or category of the file, for example image or document.
InlineFlag Boolean Indicates whether the file is embedded inline within an email message.
LogId String Identifier of the activity log entry associated with the file.
MailMessageId String Identifier of the mail message to which the file is attached.
MailTemplateId String Identifier of the mail template associated with the file.
Name String Display name of the file.
OrgId Integer Identifier of the organization to which the file is attached.
OrgName String Name of the organization to which the file is attached.
PeopleName String Full name of the person to whom the file belongs.
PersonId String

Persons.Id

Identifier of the person to whom the file is attached.
PersonName String Full name of the person to whom the file is attached.
ProductId String Identifier of the product to which the file is attached.
ProductName String Name of the product to which the file is attached.
RemoteId String Identifier of the file in the remote storage system.
RemoteLocation String Name of the remote storage service where the file is stored, for example googledrive.
S3Bucket String Name of the Amazon S3 bucket where the file is stored.
UpdateTime Datetime Date and time when the file record was last updated.
Url String Download URL for retrieving the file.
UserId Integer Identifier of the user who uploaded the file.
LeadId String Identifier of the lead to which the file is attached.
LeadName String Title of the lead to which the file is attached.

CData Python Connector for Pipedrive

PersonsMailMessages

Returns all mail messages associated with a specific person in Pipedrive, including message metadata, recipients, tracking status, and storage details.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsMailMessages WHERE PersonId = 246 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the mail message.
PersonId Integer

Persons.Id

Identifier of the person whose mail messages are returned. This field is required to query the table.
AccountId String Identifier of the mail account through which the message was sent or received.
AddTime Datetime Date and time when the mail message was added to Pipedrive.
Bcc String BCC recipients of the mail message.
BodyUrl String URL pointing to the full body content of the mail message.
Cc String CC recipients of the mail message.
CompanyId Integer Identifier of the company account to which the mail message belongs.
DeletedFlag Boolean Indicates whether the mail message has been deleted in Pipedrive.
Draft String Draft status of the message, indicating whether it is saved as a draft.
DraftFlag Boolean Indicates whether the mail message is saved as a draft and has not been sent.
ExternalDeletedFlag Boolean Indicates whether the mail message has been deleted in the external mail system.
From String Sender of the mail message.
AttachmentsFlag Boolean Indicates whether the mail message has one or more attachments.
BodyFlag Boolean Indicates whether the mail message contains a body.
InlineAttachmentsFlag Boolean Indicates whether the mail message contains inline attachments embedded in the body.
RealAttachmentsFlag Boolean Indicates whether the mail message has downloadable file attachments, as distinct from inline images.
ItemType String Type of the item, indicating the object kind such as mail message.
TrackingEnabledFlag Boolean Indicates whether link tracking is enabled for this mail message.
ThreadId Integer Identifier of the mail thread to which this message belongs.
TrackingStatus String Current tracking status of the mail message, indicating whether it has been opened.
MessageTime String Date and time when the mail message was originally sent or received.
MessageId String Message identifier from the mail user agent, corresponding to the Message-ID header.
NylasId String Identifier of the message in the Nylas email synchronization service.
ReadFlag Boolean Indicates whether the mail message has been read.
S3Bucket String Name of the Amazon S3 bucket where the mail message body is stored.
S3BucketPath String Path within the Amazon S3 bucket where the mail message body is stored.
SentFlag Boolean Indicates whether the mail message has been sent.
SentFromPipedriveFlag Boolean Indicates whether the mail message was sent directly from within Pipedrive.
SmartBccFlag Boolean Indicates whether the message was captured in Pipedrive via the Smart BCC feature.
Snippet String Short preview of the mail message body content.
Subject String Subject line of the mail message.
SyncedFlag Boolean Indicates whether the mail message has been synchronized with the external mail service.
TemplateId String Identifier of the mail template used to compose the message.
Timestamp Datetime Timestamp of when the mail message was last modified or indexed.
To String Primary recipients of the mail message.
UpdateTime Datetime Date and time when the mail message record was last updated.
UserId Integer Identifier of the user associated with the mail message.
WriteFlag Boolean Indicates whether the current user has write access to the mail message.
Object String Type of the parent object to which the mail messages are associated.

CData Python Connector for Pipedrive

PersonsMailMessagesBcc

Returns the BCC recipients from mail messages associated with a specific person in Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsMailMessagesBcc WHERE PersonId = 246 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the BCC recipient entry.
EmailAddress String Email address of the BCC recipient.
PersonId String Identifier of the Pipedrive person record linked to this BCC recipient.
PersonName String Full name of the Pipedrive person record linked to this BCC recipient.
MessagePartyId Integer Identifier of the mail message party entry for this BCC recipient.
Name String Display name of the BCC recipient.

CData Python Connector for Pipedrive

PersonsMailMessagesCc

Returns the CC recipients from mail messages associated with a specific person in Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsMailMessagesCc WHERE PersonId = 246 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the CC recipient entry.
EmailAddress String Email address of the CC recipient.
PersonId String Identifier of the Pipedrive person record linked to this CC recipient.
PersonName String Full name of the Pipedrive person record linked to this CC recipient.
MessagePartyId Integer Identifier of the mail message party entry for this CC recipient.
Name String Display name of the CC recipient.

CData Python Connector for Pipedrive

PersonsMailMessagesFrom

Returns the sender details from mail messages associated with a specific person in Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsMailMessagesFrom WHERE PersonId = 246 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the sender entry.
EmailAddress String Email address of the message sender.
PersonId String Identifier of the Pipedrive person record linked to the message sender.
PersonName String Full name of the Pipedrive person record linked to the message sender.
MessagePartyId Integer Identifier of the mail message party entry for the sender.
Name String Display name of the message sender.

CData Python Connector for Pipedrive

PersonsMailMessagesTo

Returns the primary recipients from mail messages associated with a specific person in Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsMailMessagesTo WHERE PersonId = 246 

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the recipient entry.
EmailAddress String Email address of the primary recipient.
PersonId String Identifier of the Pipedrive person record linked to this recipient.
PersonName String Full name of the Pipedrive person record linked to this recipient.
MessagePartyId Integer Identifier of the mail message party entry for this recipient.
Name String Display name of the primary recipient.

CData Python Connector for Pipedrive

PersonsPermittedUsers

Returns the list of users who have permission to access a specific person record in Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsPermittedUsers WHERE PersonId = 6

Columns

Name Type References Description
PersonId Integer

Persons.Id

Identifier of the person whose permitted users are returned.
Data String List of user identifiers who have permission to access the person record.

CData Python Connector for Pipedrive

PersonsProducts

Returns all products linked to deals associated with a specific person in Pipedrive, including full deal and product details.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
DealPersonId=

For example, the following query is processed server-side:

SELECT * FROM PersonsProducts WHERE DealPersonId = 113 

Columns

Name Type References Description
ProductId [KEY] Integer Unique identifier of the product.
DealActive Boolean Indicates whether the deal linked to the product is currently active.
DealActivitiesCount Integer Total number of activities associated with the linked deal.
DealAddTime Datetime Date and time when the linked deal was created.
DealCloseTime String Date and time when the linked deal was closed as won or lost.
DealCompanyId Integer Identifier of the company account to which the linked deal belongs.
DealCreatorUserId Integer Identifier of the user who created the linked deal.
DealCurrency String Three-letter currency code for the linked deal value.
DealDeleted Boolean Indicates whether the linked deal has been deleted.
DealDoneActivitiesCount Integer Number of completed activities associated with the linked deal.
DealEmailMessagesCount Integer Number of email messages associated with the linked deal.
DealExpectedCloseDate String Date on which the linked deal is expected to close.
DealFilesCount Integer Number of files attached to the linked deal.
DealFirstAddtime Datetime Date and time when the linked deal was first created in the system.
DealFirstWonTime String Date and time when the linked deal was first marked as won.
DealFollowersCount Integer Number of users following the linked deal.
DealId Integer Unique identifier of the deal linked to the product.
DealLabel String Color label assigned to the linked deal for visual categorization.
DealLastActivityDate String Date of the most recent activity associated with the linked deal.
DealLastActivityId String Identifier of the most recent activity associated with the linked deal.
DealLastIncomingMailTime Datetime Date and time of the most recently received email for the linked deal.
DealLastOutgoingMailTime Datetime Date and time of the most recently sent email for the linked deal.
DealLostReason String Reason recorded when the linked deal was marked as lost.
DealLostTime String Date and time when the linked deal was marked as lost.
DealNextActivityDate Date Date of the next scheduled activity for the linked deal.
DealNextActivityId Integer Identifier of the next scheduled activity for the linked deal.
DealNextActivityTime String Scheduled time of the next activity for the linked deal.
DealNotesCount Integer Number of notes attached to the linked deal.
DealOrgId Integer Identifier of the organization linked to the deal.
DealParticipantsCount Integer Number of persons participating in the linked deal.
DealPersonId Integer

Persons.Id

Identifier of the person linked to the deal. This field is required to query the table.
DealPipelineId Integer Identifier of the pipeline to which the linked deal belongs.
DealProbability String Estimated probability of winning the linked deal, expressed as a percentage.
DealProductsCount Integer Number of products attached to the linked deal.
DealStageChangetime Datetime Date and time when the linked deal last moved to a different pipeline stage.
DealStageId Integer Identifier of the pipeline stage the linked deal is currently in.
DealStatus String Current status of the linked deal, for example open, won, or lost.
DealTitle String Title or name of the linked deal.
UndoneActivitiescount Integer Number of incomplete activities associated with the linked deal.
DealUpdateTime Datetime Date and time when the linked deal was last updated.
DealUserId Integer Identifier of the user who owns the linked deal.
DealValue Double Monetary value of the linked deal in the specified currency.
DealVisibleTo String Visibility setting of the linked deal, controlling which users can see it.
DealWonTime String Date and time when the linked deal was marked as won.
ProductActiveFlag Boolean Indicates whether the product is active and available for use.
ProductAddTime Datetime Date and time when the product was created in Pipedrive.
ProductCategory String Category assigned to the product for organizational purposes.
ProductCode String Internal product code or SKU used to identify the product.
ProductCompanyId Integer Identifier of the company account to which the product belongs.
ProductDealId Integer Identifier of the deal to which the product is attached.
ProductDescription String Detailed description of the product.
ProductFilesCount String Number of files attached to the product.
ProductFirstChar String First character of the product name, used for alphabetical indexing.
ProductFollowersCount Integer Number of users following the product.
ProductName String Name of the product.
ProductOwnerId Integer Identifier of the user who owns the product.
ProductSelectable Boolean Indicates whether the product can be selected and added to deals.
ProductTax Integer Tax rate percentage applied to the product.
ProductUnit String Unit of measure for the product, for example piece, hour, or license.
ProductUpdateTime Datetime Date and time when the product record was last updated.
ProductVisibleTo String Visibility setting of the product, controlling which users can see it.

CData Python Connector for Pipedrive

PersonsUpdates

Returns the activity and change history for a specified person, including details about activities, field changes, notes, files, and other timeline events associated with that person.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM PersonsUpdates WHERE PersonId = 246 

SELECT * FROM PersonsUpdates WHERE PersonId = 10 AND AllChanges = 1

SELECT * FROM PersonsUpdates WHERE PersonId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
Id [KEY] Integer Unique identifier of the update or activity record.
ActiveFlag Boolean Indicates whether the associated item is currently active.
AddTime Datetime Timestamp indicating when the update record was created.
NewValueFormatted String Human-readable formatted representation of the new field value after a change.
AssignedToUserId Integer Unique identifier of the user to whom the associated activity or item is assigned.
Attendees String JSON-encoded list of attendees associated with the activity update.
BusyFlag Boolean Indicates whether the activity is marked as busy, blocking time on the assignee's calendar.
SyncIncludecontext String Calendar synchronization context setting that controls what context is included when syncing the activity to an external calendar.
changeSource String Identifies the source that initiated the field change, such as an API call or the web application.
UserAgent String User agent string of the client that submitted the change, providing additional context about the change source.
CompanyId Integer Unique identifier of the Pipedrive company account associated with this update.
MeetingClient String Name of the conferencing client used for the meeting, such as Zoom or Google Meet.
MeetingId String Unique identifier of the conference meeting within the conferencing platform.
MeetingUrl String URL link to join the conference meeting.
CreatedByUserId Integer Unique identifier of the user who created the update or activity record.
DealDropboxBcc String BCC email address for the deal dropbox, used to associate incoming emails with the deal.
DealId Integer Unique identifier of the deal associated with this update, if applicable.
DealTitle String Title of the deal associated with this update.
Done Boolean Indicates whether the associated activity has been marked as done.
DueDate Date Date on which the associated activity is due.
DueTime Time Time at which the associated activity is due on its due date.
Duration Time Duration of the associated activity in HH:MM format.
FieldKey String Key of the field that was changed, used to identify which field the change event relates to.
Fileclean_name String Sanitized display name of the file attached to this update.
FileId String Unique identifier of the file attached to this update.
FileUrl String Download or access URL for the file attached to this update.
GcaleventId String Unique identifier of the corresponding event in Google Calendar, if the activity is synced.
GoogleCalendarEtag String ETag value of the Google Calendar event, used for change detection during synchronization.
GoogleCalendarId String Unique identifier of the Google Calendar to which the activity is synced.
IsBulkUpdateFlag String Indicates whether this change was applied as part of a bulk update operation.
ItemId Integer Unique identifier of the item referenced by this update event.
NotificationTime Datetime Timestamp of the most recent notification sent for this update.
NotificationUserId Integer Unique identifier of the user who received the most recent notification for this update.
LeadId String Unique identifier of the lead associated with this update, if applicable.
Location String Location of the associated activity, as entered by the user.
AdminAreaLevel1 String First-level administrative area of the activity location, such as a state or province.
AdminAreaLevel2 String Second-level administrative area of the activity location, such as a county or district.
Country String Country of the activity location.
FormattedAddress String Full formatted address of the activity location.
Lat Double Latitude coordinate of the activity location.
Locality String City or locality of the activity location.
Long Double Longitude coordinate of the activity location.
PostalCode String Postal or ZIP code of the activity location.
Route String Street or route name of the activity location.
StreetNumber String Street number of the activity location address.
Sublocality String Sublocality or neighborhood of the activity location, such as a borough or district within a city.
Subpremise String Subpremise of the activity location, such as an apartment or suite number.
LogTime Datetime Timestamp indicating when this update was logged in the activity feed.
MarkedAsDoneTime Datetime Timestamp indicating when the associated activity was marked as done.
NewValue String Raw new value of the field after the change event.
Note String Text content of the note associated with this update, if the update event is a note.
LanguageId Integer Identifier of the language used for notifications related to this update.
OldValue String Raw previous value of the field before the change event.
OrgId Integer

Organizations.Id

Organizations Id.
OrgName String Organizations Name.
OwnerName String Owner Name.
Participants String JSON-encoded list of participants associated with the activity update.
PersonDropboxBcc String Person Dropbox Bcc.
PersonId Integer

Persons.Id

Persons Id.
PersonName String Full name of the person associated with this update.
Publicdescription String Public-facing description of the activity associated with this update.
RecMasterActivityId String Unique identifier of the master recurring activity from which this activity instance was generated.
RecRule String Recurrence rule (RRULE) string defining the schedule for a recurring activity.
RecRuleExtension String Extension data for the recurrence rule, used to store additional scheduling configuration.
ReferenceId Integer Unique identifier of the referenced object associated with this update event.
ReferenceType String Type of the object referenced by this update event, such as deal, person, or organization.
Series String Series identifier for grouped or recurring update events.
SourceTimezone String Timezone of the source system that originated the activity, used for accurate time interpretation.
Subject String Subject or title of the activity associated with this update.
Type String Type of the activity associated with this update, such as call, meeting, or task.
UpdateTime Datetime Timestamp indicating when the update record was last modified.
UpdateUserId Integer Unique identifier of the user who last modified the update record.
UserId Integer Unique identifier of the user associated with this update event.
Object String Type name of the Pipedrive object this update event relates to, such as activity or note.
Timestamp Datetime Timestamp indicating when this update event occurred in the activity feed.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

PersonsUpdatesAttendees

Returns the attendees of activity update events associated with a specified person, including each attendee's name, email address, organizer status, and attendance status.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM PersonsUpdatesAttendees WHERE PersonId = 246 

SELECT * FROM PersonsUpdatesAttendees WHERE PersonId = 10 AND AllChanges = 1

SELECT * FROM PersonsUpdatesAttendees WHERE PersonId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
PersonId [KEY] Integer

Persons.Id

Unique identifier of the person whose activity update attendees are returned.
EmailAddress String Email address of the activity attendee.
IsOrganizer Integer Indicates whether the attendee is the organizer of the activity. A value of 1 means the attendee organized the activity.
Name String Full name of the activity attendee.
Status String Attendance status of the attendee for the activity, such as accepted or declined.
UserId String

Users.Id

Unique identifier of the Pipedrive user corresponding to this attendee, if the attendee is a registered user.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not.

The allowed values are 1.

Items String Item specific updates.

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

PersonsUpdatesParticipants

Returns the participants of activity update events associated with a specified person, including each participant's person ID and whether they are the primary participant.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=
AllChanges=
Items=,IN

For example, the following queries are processed server-side:

SELECT * FROM PersonsUpdatesParticipants WHERE PersonId = 10

SELECT * FROM PersonsUpdatesParticipants WHERE PersonId = 10 AND AllChanges = 1

SELECT * FROM PersonsUpdatesParticipants WHERE PersonId = 10 AND Items IN ('activity', 'plannedActivity')

Columns

Name Type References Description
PersonId [KEY] Integer Unique identifier of the person whose activity update participants are returned.
PrimaryFlag Boolean Indicates whether this participant is the primary participant of the activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AllChanges String Whether to show custom field updates or not

The allowed values are 1.

Items String item specific updates

The allowed values are call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change.

CData Python Connector for Pipedrive

PipelineDealsConversionRates

Returns deal conversion rate statistics for a specific pipeline over a given time period, including won, lost, and stage-to-stage conversion rates.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PipelineId=

For example, the following query is processed server-side:

SELECT * FROM PipelineDealsConversionRates WHERE PipelineId = 4

Columns

Name Type References Description
PipelineId Integer ID of the pipeline.
LostConversion Integer The percentage of deals that moved into the lost status during the specified period.
StageConversions String The per-stage conversion rate statistics showing movement between pipeline stages during the specified period.
WonConversion Integer The percentage of deals that moved into the won status during the specified period.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer ID of the user who's pipeline statistics to fetch.
StartDate Datetime Start of the period.
EndDate Datetime End of the period.

CData Python Connector for Pipedrive

PipelineDealsMovements

Returns deal movement statistics for a pipeline over a specified time period, including counts and values for new, won, lost, and open deals.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PipelineId=

For example, the following query is processed server-side:

SELECT * FROM PipeLineDealsMovements WHERE PipelineId = 4                 

Columns

Name Type References Description
PipelineId Integer The unique identifier of the pipeline whose movement statistics are returned.
AverageAgeInDaysAcrossAllStages Integer The average number of days deals spend across all stages in the pipeline during the period.
AverageAgeInDaysByStages String The average number of days deals spend in each individual stage, broken down per stage.
DealsLeftOpenCount Integer The number of deals that remained open at the end of the period.
DealsLeftOpenDealsIds String The IDs of deals that remained open at the end of the period.
DealsLeftOpenFormattedValues String The formatted values of deals that remained open at the end of the period, by currency.
DealsLeftOpenValues String The raw values of deals that remained open at the end of the period, by currency.
LostDealsCount Integer The number of deals marked as lost during the period.
LostDealsDealsIds String The IDs of deals marked as lost during the period.
LostDealsFormattedValues String The formatted values of deals marked as lost during the period, by currency.
LostDealsValues String The raw values of deals marked as lost during the period, by currency.
MovementsBetweenStagesCount Integer The total number of times deals moved between stages during the period.
NewDealsCount Integer The number of new deals added to the pipeline during the period.
NewDealsDealsIds String The IDs of new deals added to the pipeline during the period.
NewDealsFormattedValues String The formatted values of new deals added during the period, by currency.
NewDealsValues String The raw values of new deals added during the period, by currency.
WonDealsCount Integer The number of deals marked as won during the period.
WonDealsDealsIds String The IDs of deals marked as won during the period.
WonDealsFormattedValues String The formatted values of deals marked as won during the period, by currency.
WonDealsValues String The raw values of deals marked as won during the period, by currency.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer ID of the user who's pipeline statistics to fetch.
StartDate Datetime Start of the period. Date in format of YYYY-MM-DD
EndDate Datetime End of the period. Date in format of YYYY-MM-DD

CData Python Connector for Pipedrive

PipelineDealsMovementsAverageAgeInDaysByStages

Returns the average number of days deals spend in each pipeline stage during the specified time period.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PipelineId=
UserId=
StartDate=
EndDate=

For example, the following query is processed server-side:

SELECT * FROM PipelineDealsMovementsAverageAgeInDaysByStages WHERE StartDate = '2022-05-18' AND EndDate = '2023-05-18'              

Columns

Name Type References Description
PipelineId Integer The unique identifier of the pipeline whose per-stage age statistics are returned.
StageId Integer The unique identifier of the stage within the pipeline.
Value Integer The average number of days deals spent in this stage during the specified period.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer ID of the user who's pipeline statistics to fetch.
StartDate Datetime Start of the period. Date in format of YYYY-MM-DD
EndDate Datetime End of the period. Date in format of YYYY-MM-DD

CData Python Connector for Pipedrive

PipelineDealsStageConversions

Returns stage-level deal conversion statistics for a specific pipeline over a given time period, showing the conversion rate between each pair of consecutive stages.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PipelineId=

For example, the following queries are processed server-side:

SELECT * FROM PipelineDealsStageConversions

SELECT * FROM PipelineDealsStageConversions WHERE PipelineId = 4

Columns

Name Type References Description
PipelineId Integer The ID of the pipeline for which stage conversion statistics are retrieved.
ConversionRate Integer The percentage of deals that moved from the source stage to the destination stage during the specified period.
FromStageId String The ID of the pipeline stage deals moved from.
ToStageId Integer The ID of the pipeline stage deals moved to.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
UserId Integer ID of the user who's pipeline statistics to fetch
StartDate Date Start of the period
EndDate Date End of the period

CData Python Connector for Pipedrive

ProductFieldsOptions

Returns the selectable options for enum and set type product fields. Each row represents one option value available for a given product field.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductFieldId=

For example, the following query is processed server-side:

SELECT * FROM ProductFieldsOptions WHERE ProductFieldId = 123

Columns

Name Type References Description
Id [KEY] String The unique identifier of the product field option.
Label String The display label shown to users when selecting this option in Pipedrive.
ProductFieldId [KEY] Integer

ProductFields.Id

The ID of the parent product field that owns this option.

CData Python Connector for Pipedrive

ProductsDeals

Returns all deals that include the specified product, with full deal details including participants, activities, and pipeline information.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Status=

For example, the following queries are processed server-side:

SELECT * FROM ProductsDeals WHERE Id = 10 

SELECT * FROM ProductsDeals WHERE Id = 10 AND status = 'open'

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the deal.
ProductId Integer The unique identifier of the product whose deals are returned.
Active Boolean Whether the deal is currently active.
ActivitiesCount Integer The total number of activities associated with the deal.
AddTime Datetime The date and time when the deal was created.
CcEmail String The BCC email address used to add emails to the deal.
CloseTime String The date and time when the deal was closed.
CreatorActiveFlag Boolean Whether the deal creator's user account is active.
CreatorEmail String The email address of the user who created the deal.
CreatorHasPic Boolean Whether the deal creator has a profile picture set.
CreatorId Integer The unique identifier of the user who created the deal.
CreatorName String The full name of the user who created the deal.
CreatorPicHash String The hash of the deal creator's profile picture.
CreatorValue Integer The numeric ID value of the deal creator user.
Currency String The currency code of the deal value, for example USD or EUR.
Deleted Boolean Whether the deal has been deleted.
DoneActivitiesCount Integer The number of completed activities associated with the deal.
EmailMessagesCount Integer The number of email messages associated with the deal.
ExpectedCloseDate String The expected close date of the deal.
FilesCount Integer The number of files attached to the deal.
FirstWonTime String The date and time when the deal was first marked as won.
FollowersCount Integer The number of users following the deal.
FormattedValue String The deal value formatted with the currency symbol and separators.
FormattedWeightedValue String The probability-weighted deal value formatted with the currency symbol and separators.
Label String The label or tag applied to the deal.
LastActivityDate String The date of the most recent activity on the deal.
LastActivityId String The unique identifier of the most recent activity on the deal.
LastIncomingMailTime String The date and time of the last incoming email associated with the deal.
LastOutgoingMailTime String The date and time of the last outgoing email associated with the deal.
LostReason String The reason entered when the deal was marked as lost.
LostTime String The date and time when the deal was marked as lost.
NextActivityDate Date The scheduled date of the next activity on the deal.
NextActivityDuration Time The duration of the next scheduled activity on the deal.
NextActivityId Integer The unique identifier of the next scheduled activity on the deal.
NextActivityNote String The note attached to the next scheduled activity on the deal.
NextActivitySubject String The subject of the next scheduled activity on the deal.
NextActivityTime Time The time of the next scheduled activity on the deal.
NextActivityType String The type of the next scheduled activity on the deal.
NotesCount Integer The number of notes associated with the deal.
OrgHidden Boolean Whether the associated organization is hidden from the current user.
OrgIdName String The name of the organization associated with the deal.
OrgIdPeopleCount Integer The number of people associated with the deal's organization.
OrgIdOwnerId Integer The unique identifier of the owner of the deal's organization.
OrgIdAddress String The address of the organization associated with the deal.
OrgIdActiveFlag Boolean Whether the organization associated with the deal is active.
OrgIdCcEmail String The BCC email address of the organization associated with the deal.
OrgIdValue Integer The numeric ID of the organization associated with the deal.
OrgName String The name of the organization associated with the deal.
OwnerName String The full name of the user who owns the deal.
ParticipantsCount Integer The number of participants associated with the deal.
PersonHidden Boolean Whether the associated person is hidden from the current user.
PersonActiveFlag Boolean Whether the person associated with the deal has an active account.
PersonEmail String The email addresses of the person associated with the deal.
PersonIdName String The full name of the person associated with the deal.
PersonPhone String The phone numbers of the person associated with the deal.
PersonValue Integer The numeric ID of the person associated with the deal.
PipelineId Integer The unique identifier of the pipeline that contains the deal.
Probability String The win probability percentage assigned to the deal.
ProductsCount Integer The number of products attached to the deal.
RottenTime String The date and time when the deal became rotten due to inactivity.
StageChangeTime String The date and time when the deal last moved to a different stage.
StageId Integer The unique identifier of the pipeline stage the deal is currently in.
StageOrderNr Integer The order number of the stage within its pipeline.
Status String Only fetch deals with specific status.

The allowed values are open, won, lost, deleted, all_not_deleted.

The default value is all_not_deleted.

Title String The title of the deal.
UndoneActivitiesCount Integer The number of incomplete activities associated with the deal.
UpdateTime Datetime The date and time when the deal was last updated.
UserActiveFlag Boolean Whether the deal owner's user account is active.
UserEmail String The email address of the deal owner.
UserHasPic Boolean Whether the deal owner has a profile picture set.
UserId Integer The unique identifier of the user who owns the deal.
UserName String The full name of the user who owns the deal.
UserPicHash String The hash of the deal owner's profile picture.
Uservalue Integer The numeric ID value of the deal owner user.
Value Double The monetary value of the deal.
VisibleTo String The visibility setting that determines which users can see the deal.
WeightedValue Double The deal value multiplied by the win probability percentage.
WeightedValueCurrency String The currency code of the weighted deal value.
WonTime String The date and time when the deal was marked as won.
PersonName String The full name of the person associated with the deal.

CData Python Connector for Pipedrive

ProductsDealsPersonEmail

Returns the email addresses of contact persons associated with deals that include the specified product.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=
Status=

For example, the following queries are processed server-side:

SELECT * FROM ProductsDealsPersonEmail WHERE ProductId = 10

SELECT * FROM ProductsDealsPersonEmail WHERE ProductId = 10 AND status = 'open'

Columns

Name Type References Description
ProductId Integer The unique identifier of the product whose deal contact email addresses are returned.
Label String The label identifying the type of email address, for example work or home.
Primary Boolean Whether this is the primary email address for the contact person.
Value String The email address of the contact person.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Status String Only fetch deals with specific status.

The allowed values are open, won, lost, deleted, all_not_deleted.

The default value is all_not_deleted.

CData Python Connector for Pipedrive

ProductsDealsPersonphone

Returns the phone numbers of contact persons associated with deals that include the specified product.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=
Status=

For example, the following queries are processed server-side:

SELECT * FROM ProductsDealsPersonphone WHERE ProductId = 10 

SELECT * FROM ProductsDealsPersonphone WHERE ProductId = 10 AND status = 'open'

Columns

Name Type References Description
ProductId Integer The unique identifier of the product whose deal contact phone numbers are returned.
Label String The label identifying the type of phone number, for example work or mobile.
Primary Boolean Whether this is the primary phone number for the contact person.
Value String The phone number of the contact person.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Status String Only fetch deals with specific status.

The allowed values are open, won, lost, deleted, all_not_deleted.

The default value is all_not_deleted.

CData Python Connector for Pipedrive

ProductsFiles

Returns all files attached to the specified product, including file metadata and associated entity references.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=
IncludeDeletedFiles=

For example, the following queries are processed server-side:

SELECT * FROM ProductsFiles WHERE ProductId = 6 

SELECT * FROM ProductsFiles WHERE ProductId = 6 AND IncludeDeletedFiles = 0

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the file.
ActiveFlag Boolean Whether the file is active and not deleted.
AddTime Datetime The date and time when the file was added.
Description String The text description associated with the file.
FileName String The original name of the file as uploaded.
FileSize Integer The size of the file in bytes.
FileType String The MIME type or format category of the file.
InlineFlag Boolean Whether the file is used as an inline attachment in an email rather than a standalone upload.
Name String The display name of the file.
ProductId String

Products.id

The unique identifier of the product the file is attached to.
ProductName String The name of the product the file is attached to.
RemoteId String The identifier of the file in the remote storage system.
RemoteLocation String The name of the remote storage service where the file is hosted, for example googledrive.
S3Bucket String The S3 bucket name where the file is stored.
UpdateTime Datetime The date and time when the file record was last updated.
Url String The URL to access or download the file.
UserId Integer The unique identifier of the user who uploaded the file.

CData Python Connector for Pipedrive

ProductsPermittedUsers

Returns the list of users who have permission to access the specified product.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=

For example, the following query is processed server-side:

SELECT * FROM ProductsPermittedUsers WHERE ProductId = 6 

Columns

Name Type References Description
ProductId Integer

Products.Id

The unique identifier of the product whose permitted users are returned.
Data String The list of user IDs that have permission to access the product.

CData Python Connector for Pipedrive

ProductsPrices

Returns the pricing entries for products, including price, cost, currency, and overhead cost per price record.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
CodeLIKE
NameLIKE
FirstChar=
FilterId=
UserId=
GetSummary=
Ids=,IN

For example, the following queries are processed server-side:

SELECT * FROM ProductsPrices WHERE Id = 14

SELECT * FROM ProductsPrices WHERE Name LIKE '%Cdata%'
    
SELECT * FROM ProductsPrices WHERE code LIKE '%123%'
    
SELECT * FROM ProductsPrices WHERE FirstChar = 'c'
    
SELECT * FROM ProductsPrices WHERE FilterId = 1
     
SELECT * FROM ProductsPrices WHERE UserId = 1       
    
SELECT * FROM ProductsPrices WHERE GetSummary = 1
    
SELECT * FROM ProductsPrices WHERE Ids IN (1, 2) 

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the price entry.
Cost Integer The cost amount for the product at this price point.
Currency String The currency code for the price entry, for example USD or EUR.
OverheadCost String The overhead cost allocated to the product at this price point.
Price Integer The sale price of the product for this price entry.
ProductId Integer The unique identifier of the product this price entry belongs to.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FirstChar String If supplied only Products whose name starts with the specified letter will be returned.
UserId Integer User Id.
FilterId Integer Filter Id.
GetSummary Boolean Get Summary.
Ids Integer The Ids of the Products that should be returned in the response.

CData Python Connector for Pipedrive

ProjectTemplates

Get the details of a specific project template.

View-Specific Information

SELECT

The connector uses the Pipedrive The filter is executed client-side within the connector.

SELECT * FROM ProjectTemplates

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the project template.
Title String The display title of the project template.
Description String The detailed description of the project template, explaining its intended use or structure.
UpdateTime Datetime The date and time when the project template was last updated.
AddTime Datetime The date and time when the project template was created.
OwnerId Integer The unique identifier of the user who owns this project template.
ProjectBoardId Integer The unique identifier of the project board associated with this template.

CData Python Connector for Pipedrive

Recents

Returns data about all recent changes occurred after given timestamp.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
Item=
SinceTimestamp=

For example, the following queries are processed server-side:

SELECT * FROM Recents
SELECT * FROM Recents WHERE Id = 2
SELECT * FROM Recents WHERE Id = 2 and SinceTimestamp = '022-01-01 01:29:32'

Columns

Name Type References Description
Id Integer The unique identifier of the recent change record.
DataActive Boolean Indicates whether the changed record is currently active.
DataActiveFlag Boolean Indicates whether the changed record is marked as active using the active flag field.
DataActivitiesCount Integer The total number of activities associated with the changed record.
DataAddTime Datetime The date and time when the changed record was originally created.
DataAssignedToUserId Integer The unique identifier of the user to whom the changed record is assigned.
DataAttendees String The list of attendees for the changed activity record, returned as an aggregate.
DataBusyFlag String Indicates whether the activity in the changed record marks the assigned user as busy during its scheduled time.
DataCalendarSyncContext String The calendar synchronization context included when syncing the activity to an external calendar.
DataCcEmail String The BCC email address associated with the changed record for email drop-box functionality.
DataCloseTime String The date and time when the deal in the changed record was closed.
DataCompanyId Integer The unique identifier of the company account that owns the changed record.
DataConferenceMeetingClient String The name of the video conferencing client used for the activity in the changed record.
DataConferenceMeetingId String The identifier of the video conference meeting associated with the activity in the changed record.
DataConferenceMeetingUrl String The URL of the video conference meeting associated with the activity in the changed record.
DataCreatedByUserId Integer The unique identifier of the user who created the changed record.
DataCreatorUserId Integer The unique identifier of the user designated as the creator of the changed record.
DataCurrency String The ISO currency code associated with the monetary value of the changed record.
DataDealDropboxBcc String The BCC email address used to drop emails directly into the deal associated with the changed record.
DataDealId String The unique identifier of the deal associated with the changed record.
DataDealTitle String The title of the deal associated with the changed record.
DataDeleted Boolean Indicates whether the changed record has been deleted.
DataDone Boolean Indicates whether the activity in the changed record has been marked as completed.
DataDoneActivitiesCount Integer The number of completed activities associated with the changed record.
DataDueDate Date The due date of the activity or task in the changed record.
DataDueTime Datetime The due time of the activity in the changed record.
DataDuration Datetime The scheduled duration of the activity in the changed record.
DataEmailMessagesCount Integer The number of email messages associated with the changed record.
DataExpectedCloseDate Date The expected close date set on the deal in the changed record.
DataFileId String The unique identifier of the file attached to the changed record.
DataFileCleanName String The sanitized display name of the file attached to the changed record.
DataFileUrl String The download URL of the file attached to the changed record.
DataFilesCount Integer The number of files attached to the changed record.
DataFirstWonTime String The date and time when the deal in the changed record was first marked as won.
DataFollowersCount Integer The number of users following the changed record.
DataFormattedValue String The deal value of the changed record formatted with currency symbol and decimal notation.
DataFormattedWeightedValue String The probability-weighted deal value of the changed record formatted with currency symbol and decimal notation.
DataGcalEventId String The Google Calendar event identifier for the activity in the changed record.
DataGoogleCalendarEtag String The Google Calendar entity tag used for change detection of the synced calendar event.
DataGoogleCalendarId String The Google Calendar identifier where the activity in the changed record is synced.
DataId Integer The unique identifier of the data object within the changed record.
DataLabel String The label or tag applied to the changed record for categorization.
ActivityDate String The date of the most recent activity associated with the changed record.
ActivityId String The unique identifier of the most recent activity associated with the changed record.
IncomingMailTime String The date and time of the most recent incoming email associated with the changed record.
LastNotificationTime String The date and time when the most recent notification was sent for the changed record.
LastNotificationUserId String The unique identifier of the user who received the most recent notification for the changed record.
LastOutgoingMailTime String The date and time of the most recent outgoing email associated with the changed record.
LeadId String The unique identifier of the lead associated with the changed record.
LeadTitle String The title of the lead associated with the changed record.
Location String The location or address associated with the activity in the changed record.
AreaLevel1 String The first-level administrative area, such as a state or province, of the location in the changed record.
AreaLevel2 String The second-level administrative area, such as a county or district, of the location in the changed record.
LocationCountry String The country component of the location in the changed record.
LocationFormattedAddress String The full formatted address string of the location in the changed record.
Locationlocality String The city or locality component of the location in the changed record.
LocationPostalCode String The postal or ZIP code component of the location in the changed record.
LocationRoute String The street name or route component of the location in the changed record.
LocationStreetNumber String The street number component of the location in the changed record.
LocationSublocality String The sub-locality component, such as a neighborhood, of the location in the changed record.
LocationSubpremise String The sub-premise component, such as an apartment number, of the location in the changed record.
LostReason String The reason provided when the deal in the changed record was marked as lost.
LostTime String The date and time when the deal in the changed record was marked as lost.
MarkedAsDoneTime String The date and time when the activity in the changed record was marked as completed.
NextActivityDate String The scheduled date of the next upcoming activity associated with the changed record.
NextActivityDuration String The scheduled duration of the next upcoming activity associated with the changed record.
NextActivityId String The unique identifier of the next upcoming activity associated with the changed record.
NextActivityNote String The note or description attached to the next upcoming activity associated with the changed record.
NextActivitySubject String The subject line of the next upcoming activity associated with the changed record.
NextActivityTime String The scheduled time of the next upcoming activity associated with the changed record.
NextActivityType String The type of the next upcoming activity associated with the changed record, such as call, meeting, or email.
Note String The note text associated with the changed record.
NotesCount Integer The total number of notes associated with the changed record.
NotificationLanguageId Integer The identifier of the language used for notifications related to the changed record.
OrgHidden Boolean Indicates whether the organization associated with the changed record is hidden from the current user.
OrgId Integer The unique identifier of the organization associated with the changed record.
OrgName String The name of the organization associated with the changed record.
OwnerName String The full name of the user who owns the changed record.
Participants String The list of participants in the activity of the changed record, returned as an aggregate.
ParticipantsCount Integer The total number of participants in the activity of the changed record.
PersonDropboxBcc String The BCC email address used to drop emails directly into the person record associated with the changed record.
PersonHidden Boolean Indicates whether the person associated with the changed record is hidden from the current user.
PersonId Integer The unique identifier of the person associated with the changed record.
PersonName String The full name of the person associated with the changed record.
PipelineId Integer The unique identifier of the pipeline that contains the deal in the changed record.
Probability String The win probability percentage set on the deal in the changed record.
ProductsCount Integer The number of products associated with the deal in the changed record.
PublicDescription String The publicly visible description text associated with the changed record.
RecMasterActivityId String The unique identifier of the master recurring activity from which the activity in the changed record was generated.
RecRule String The iCalendar recurrence rule (RRULE) string that defines the repeat pattern for the recurring activity in the changed record.
RecRuleExtension String Additional recurrence rule extension data for the recurring activity in the changed record.
ReferenceId String The identifier of the external reference associated with the changed record.
ReferenceType String The type of the external reference associated with the changed record, indicating what kind of external entity is referenced.
RottenTime String The date and time when the deal in the changed record is considered rotten due to inactivity.
Series String The series identifier grouping recurring activity instances in the changed record.
SourceTimezone String The timezone of the source system where the activity in the changed record was originally created.
StageChangeTime String The date and time when the deal in the changed record was last moved to a different pipeline stage.
StageId Integer The unique identifier of the pipeline stage that contains the deal in the changed record.
StageOrderNr Integer The display order number of the pipeline stage within its pipeline for the deal in the changed record.
Status String The current status of the changed record, such as open, won, or lost for deals.
Subject String The subject or title of the activity in the changed record.
DataTitle String The title or name of the changed record.
DataType String The type of Pipedrive object that was changed, such as deal, person, organization, or activity.
UndoneActivitiesCount Integer The number of incomplete activities associated with the changed record.
UpdateTime Datetime The date and time when the changed record was last updated.
UpdateUserId String The unique identifier of the user who last updated the changed record.
UserId Integer The unique identifier of the user associated with the changed record.
Value Integer The monetary value of the deal in the changed record.
VisibleTo String The visibility setting of the changed record, controlling which users can see it.
WeightedValue Integer The probability-adjusted monetary value of the deal in the changed record.
WeightedValueCurrency String The ISO currency code used for the weighted value of the deal in the changed record.
WonTime String The date and time when the deal in the changed record was marked as won.
Item String The type of Pipedrive item to filter recent changes by, such as deal, person, organization, or activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
SinceTimestamp Datetime Timestamp in UTC.

The default value is 2000-01-01 01:29:32.

CData Python Connector for Pipedrive

RecentsAttendees

Returns the attendee details for activities that have been recently changed, filtered by a specified UTC timestamp.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
SinceTimestamp=

For example, the following query is processed server-side:

SELECT * FROM RecentsAttendees WHERE SinceTimestamp = '022-01-01 01:29:32'

Columns

Name Type References Description
EmailAddress String The email address of the attendee.
IsOrganizer Integer Indicates whether the attendee is the organizer of the activity. A value of 1 means the attendee is the organizer.
Name String The full name of the attendee.
PersonId Integer The unique identifier of the Pipedrive person record associated with this attendee.
Status String The attendance status of the attendee, such as accepted, declined, or tentative.
UserId Integer The unique identifier of the Pipedrive user account associated with this attendee.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
SinceTimestamp Datetime Timestamp in UTC.

The default value is 2000-01-01 01:29:32.

CData Python Connector for Pipedrive

RecentsParticipants

Returns the participant details for activities that have been recently changed, filtered by a specified UTC timestamp.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
SinceTimestamp=

For example, the following query is processed server-side:

SELECT * FROM RecentsParticipants WHERE SinceTimestamp = '022-01-01 01:29:32'

Columns

Name Type References Description
PersonId Integer The unique identifier of the Pipedrive person record that is a participant in the activity.
PrimaryFlag Boolean Indicates whether this participant is the primary contact for the activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
SinceTimestamp Datetime Timestamp in UTC.

The default value is 2000-01-01 01:29:32.

CData Python Connector for Pipedrive

RolesPipelinesVisibility

Get the list of either visible or hidden pipeline IDs for a specific role.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
RoleId=

For example, the following query is processed server-side:

SELECT * FROM RolesPipelinesVisibility WHERE RoleId = 2

Columns

Name Type References Description
RoleId [KEY] Integer ID of the Role.
PipelineIds String The comma-separated list of pipeline IDs that are either visible or hidden for the role.
Visible Boolean Whether the listed pipeline IDs are visible (true) or hidden (false) for the role.

CData Python Connector for Pipedrive

UserConnection

Returns the external service connections configured for the current user, such as linked Google account details.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector

For example, the following query is processed server-side:

SELECT * FROM UserConnection

Columns

Name Type References Description
Google String The Google account connection details for the current user, indicating whether a Google account is linked.

CData Python Connector for Pipedrive

UsersAccess

Returns access details for all users in the company.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM UsersAccess

Columns

Name Type References Description
App String The name of the application the user is associated with.
Admin Boolean Indicates whether the user has administrative access.
PermissionSetId String The identifier for the permission set assigned to the user.

CData Python Connector for Pipedrive

UserSettings

List settings of an authorized user.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector

For example, the following query is processed server-side:

SELECT * FROM UserSettings

Columns

Name Type References Description
ExpectedCloseDate String Indicates whether the expected close date is automatically populated when creating a deal.
BetaApp String Indicates whether the user has opted into beta features of the Pipedrive application.
CalltoLink String The syntax template used to generate clickable phone links in the Pipedrive interface.
FileUploadDestination String The configured destination service for file uploads, such as Pipedrive or an external storage provider.
ListLimit Integer The maximum number of items displayed per page in list views for this user.
MarketplaceCustomUrl String Indicates whether the user is permitted to install Marketplace applications using a custom URL.
MarketplaceExtensionsVendor String The vendor identifier used for Marketplace application extensions associated with this user.
MarketplaceTeam String The Marketplace team identifier associated with this user's account for application publishing and management.
PersonDuplicateCondition String The condition used to detect duplicate person records, such as matching by email address or name.
SalesphoneCalltoOverride String Indicates whether the Salesphone application is prevented from overriding the default call-to link behavior.

CData Python Connector for Pipedrive

UsersFollowers

Lists the followers of a specific user.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
UserId=

For example, the following query is processed server-side:

SELECT * FROM UsersFollowers WHERE UserId = 2

Columns

Name Type References Description
UserId Integer ID of the user.
Data Integer The identifier of a user who follows the specified user.

CData Python Connector for Pipedrive

UsersPermissions

Returns the full set of permission flags for a specific user, indicating which actions the user is authorized to perform within Pipedrive.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
UserId=

For example, the following query is processed server-side:

SELECT * FROM UsersPermissions WHERE UserId = 13822542

Columns

Name Type References Description
UserId Integer ID of the user.
CanAddCustomFields Boolean Indicates whether the user is permitted to create new custom fields.
CanBulkEditItems Boolean Indicates whether the user is permitted to edit multiple records simultaneously using bulk operations.
CanChangeVisibilityOfItems Boolean Indicates whether the user is permitted to change the visibility settings of records.
CanCreateOwnWorkflow Boolean Indicates whether the user is permitted to create personal automation workflows.
CanModifyOwnerForDeals Boolean Indicates whether the user is permitted to reassign deal ownership to another user.
CanDeleteDeals Boolean Indicates whether the user is permitted to delete deal records.
CanConvertDealsToLeads Boolean Indicates whether the user is permitted to convert existing deals into leads.
CanMergeDeals Boolean Indicates whether the user is permitted to merge two deal records into one.
CanEditDealsClosedDate Boolean Indicates whether the user is permitted to modify the closed date of a deal.
CanModifyOwnerForLeads Boolean Indicates whether the user is permitted to reassign lead ownership to another user.
CanDeleteLeads Boolean Indicates whether the user is permitted to delete lead records.
CanMergeLeads Boolean Indicates whether the user is permitted to merge two lead records into one.
CanSeeDealsListSummary Boolean Indicates whether the user is permitted to view the summary totals row at the bottom of the deals list.
CanAddDeals Boolean Indicates whether the user is permitted to create new deal records.
CanEditOtherUsersDeals Boolean Indicates whether the user is permitted to edit deal records owned by other users.
CanAddLeads Boolean Indicates whether the user is permitted to create new lead records.
CanEditOtherUsersLeads Boolean Indicates whether the user is permitted to edit lead records owned by other users.
CanEditCustomFields Boolean Indicates whether the user is permitted to modify existing custom field definitions.
CanDeleteCustomFields Boolean Indicates whether the user is permitted to delete custom field definitions.
CanUseImport Boolean Indicates whether the user is permitted to import data into Pipedrive.
CanModifyLabels Boolean Indicates whether the user is permitted to create, edit, or delete record labels.
CanExportDataFromLists Boolean Indicates whether the user is permitted to export data from list views.
CanShareFilters Boolean Indicates whether the user is permitted to share saved filters with other users.
CanEditSharedFilters Boolean Indicates whether the user is permitted to modify filters shared by other users.
CanShareInsights Boolean Indicates whether the user is permitted to share Insights reports and dashboards with other users.
CanUseEmailTracking Boolean Indicates whether the user is permitted to use email open and click tracking features.
CanSeeOtherUsersStatistics Boolean Indicates whether the user is permitted to view performance statistics for other users.
CanSeeCompanyWideStatistics Boolean Indicates whether the user is permitted to view aggregate statistics across the entire company.
CanSeeOtherUsers Boolean Indicates whether the user is permitted to view the profiles and details of other users.
CanFollowOtherUsers Boolean Indicates whether the user is permitted to follow other users to receive updates on their activity.
CanSeeHiddenItemsNames Boolean Indicates whether the user is permitted to see the names of records that are otherwise hidden from them.
CanModifyOwnerForActivities Boolean Indicates whether the user is permitted to reassign activity ownership to another user.
CanDeleteActivities Boolean Indicates whether the user is permitted to delete activity records.
CanModifyOwnerForPeople Boolean Indicates whether the user is permitted to reassign person record ownership to another user.
CanDeletePeople Boolean Indicates whether the user is permitted to delete person records.
CanMergePeople Boolean Indicates whether the user is permitted to merge two person records into one.
CanModifyOwnerForOrganizations Boolean Indicates whether the user is permitted to reassign organization record ownership to another user.
CanDeleteOrganizations Boolean Indicates whether the user is permitted to delete organization records.
CanMergeOrganizations Boolean Indicates whether the user is permitted to merge two organization records into one.
CanAddProducts Boolean Indicates whether the user is permitted to create new product records.
CanEditOtherUsersProducts Boolean Indicates whether the user is permitted to edit product records owned by other users.
CanModifyOwnerForProducts Boolean Indicates whether the user is permitted to reassign product record ownership to another user.
CanDeleteProducts Boolean Indicates whether the user is permitted to delete product records.
CanDeleteProductVariations Boolean Indicates whether the user is permitted to delete product variation records.
CanUseApi Boolean Indicates whether the user is permitted to access the Pipedrive API.
CanAddPeople Boolean Indicates whether the user is permitted to create new person records.
CanEditOtherUsersPeople Boolean Indicates whether the user is permitted to edit person records owned by other users.
CanAddOrganizations Boolean Indicates whether the user is permitted to create new organization records.
CanEditOtherUsersOrganizations Boolean Indicates whether the user is permitted to edit organization records owned by other users.

CData Python Connector for Pipedrive

UsersRoleAssignments

Lists role assignments for a user.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
UserId=

For example, the following query is processed server-side:

SELECT * FROM UsersRoleAssignments WHERE UserId = 2

Columns

Name Type References Description
UserId Integer ID of the user.
RoleId Integer The unique identifier of the role assigned to the user.
ParentRoleId Integer The unique identifier of the parent role in the role hierarchy, if the assigned role inherits from another.
Name String The display name of the assigned role.
ActiveFlag Boolean Indicates whether the assigned role is currently active.
Type String The type classification of the role, indicating whether it is a system role or a custom role.

CData Python Connector for Pipedrive

UsersRoleSettings

Lists the settings of user assigned role.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
UserId=

For example, the following query is processed server-side:

SELECT * FROM UsersRoleSettings WHERE UserId = 2

Columns

Name Type References Description
UserId Integer ID of the user.
DealDefaultVisibility Integer The default visibility level applied to new deal records created by users with this role.
LeadDefaultVisibility Integer The default visibility level applied to new lead records created by users with this role.
OrgDefaultVisibility Integer The default visibility level applied to new organization records created by users with this role.
PersonDefaultVisibility Integer The default visibility level applied to new person records created by users with this role.
ProductDefaultVisibility Integer The default visibility level applied to new product records created by users with this role.

CData Python Connector for Pipedrive

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with Pipedrive.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Pipedrive, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for Pipedrive Stored Procedures

Name Description
AddAudioFile Adds an audio recording to the call log.
AddFile Upload a file and associate it with Deal, Person, Organization, Activity or Product.
AddPersonPicture Adds a picture to a specified person record.
CreateRemoteFile Creates a new empty file in the remote location (googledrive).
DealsDuplicate Duplicate deals.It will create new record for the particular deal.
DeletePersonPictures Delete person picture.
DownloadFile Adds an audio recording to the call log.
GetAddons Get all add-ons for a single company.
GetOAuthAccessToken Gets an authentication token from PipeDrive.
GetOAuthAuthorizationURL Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the OAuthAccessToken from this URL.
LinkRemoteFile Links an existing remote file (googledrive).
MergeDeals Merge two deals in one deal.
MergeOrganizations Merges an organization with another organization.
MergePersons Adds an audio recording to the call log.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication with Pipedrive.

CData Python Connector for Pipedrive

AddAudioFile

Adds an audio recording to the call log.

Stored Procedure-Specific Information

Executing this procedure requires setting the values for Id and FileLocation. If FileLocation is not provided, both Content, which is an input stream of the file, and FileName with the extension should be provided. For example:
    EXEC AddAudioFile Id = '123436', FileLocation = 'C:\Users\Downloads\file_example_MP3_1MG.mp3'

Input

Name Type Description
Id String Id of call logs.
FileLocation String File to upload.
FileName String File name that is uploaded.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

AddFile

Upload a file and associate it with Deal, Person, Organization, Activity or Product.

Stored Procedure-Specific Information

Executing this procedure requires setting the value for FileLocation. If FileLocation is not provided, both Content, which is an input stream of the file, and FileName with the extension should be provided. For example:
    EXEC AddFile DealId = '12', FileLocation = 'C:\Users\Downloads\file_example_MP3_1MG.mp3'

Input

Name Type Description
DealId Integer ID of the deal to associate file(s) with.
PersonId Integer ID of the person to associate file(s) with.
OrgId Integer ID of the organization to associate file(s) with.
ProductId Integer ID of the product to associate file(s) with.
ActivityId Integer ID of the activity to associate file(s) with.
FileLocation String File to upload.
FileName String File name that is uploaded.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

AddPersonPicture

Adds a picture to a specified person record.

Stored Procedure-Specific Information

Executing this procedure requires setting the values for Id and FileLocation. If FileLocation is not provided, both Content, which is an input stream of the file, and FileName with the extension should be provided.

To execute this procedure, enter:

    EXEC AddPersonPicture Id = '1', FileLocation = 'C:\\Users\\Downloads\\download.jpg'

Input

Name Type Description
Id Integer ID of a person.
CropX Integer X coordinate to where start cropping form in pixels.
CropY Integer Y coordinate to where start cropping form in pixels.
CropWidth Integer Width of cropping area in pixels.
CropHeight Integer Height of cropping area in pixels.
FileLocation String File to upload.
FileName String File name that is uploaded.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

CreateRemoteFile

Creates a new empty file in the remote location (googledrive).

Stored Procedure-Specific Information

Executing this procedure requires setting the values for FileType, ItemId, ItemType, RemoteLocation, and Title. For example:
EXEC CreateRemoteFile Filetype = 'gdoc',  Title = 'tests', ItemId = '8230170', Remotelocation = 'googledrive', Itemtype = 'deal'

Input

Name Type Description
ItemId Integer ID of the item to associate the file with.
FileType String File type.

The allowed values are gdoc, gslides, gsheet, gform, gdraw.

Title String Id of call logs.
ItemType String Item type.

The allowed values are deal, organization, person.

RemoteLocation String The location type to send the file to. Only googledrive is currently supported.

The allowed values are googledrive.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure

CData Python Connector for Pipedrive

DealsDuplicate

Duplicate deals.It will create new record for the particular deal.

Stored Procedure-Specific Information

Executing this procedure requires setting the value for Id. For example:
EXEC DealsDuplicate Id = '2'

Input

Name Type Description
Id Integer The ID of the deals.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

DeletePersonPictures

Delete person picture.

Stored Procedure-Specific Information

Executing this procedure requires setting the value for Id. For example:
EXEC DeletePersonPictures Id = 6

Input

Name Type Description
Id Integer ID of a person.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

DownloadFile

Adds an audio recording to the call log.

Stored Procedure-Specific Information

Executing this procedure requires setting the values for Id and DownloadLocation. For example:
EXEC DownloadFile Id = 6, DownloadLocation = 'D:\\test\\download.txt'

Input

Name Type Description
Id Integer ID of the file.
DownloadLocation String Download location. For example: C:\File.mp4
Encoding String The FileData input encoding type.

The allowed values are NONE, BASE64.

The default value is BASE64.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.
FileData String If the DownloadLocation and FileStream are not provided, this contains the content of the file.

CData Python Connector for Pipedrive

GetAddons

Get all add-ons for a single company.

Stored Procedure-Specific Information

To run this procedure, enter:
EXEC GetAddons

Result Set Columns

Name Type Description
Code String Billing add-on code for a company

CData Python Connector for Pipedrive

GetOAuthAccessToken

Gets an authentication token from PipeDrive.

Input

Name Type Description
AuthMode String The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app.

The allowed values are APP, WEB.

The default value is APP.

CallbackUrl String The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL you have specified in the PipeDrive app settings. Only needed when the Authmode parameter is Web.
Verifier String The verifier returned from PipeDrive after the user has authorized your app to have access to their data. This value will be returned as a parameter to the callback URL.
State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the PipeDrive authorization server and back. Uses include redirecting the user to the correct resource in your site, nonces, and cross-site-request-forgery mitigations.

Result Set Columns

Name Type Description
OAuthAccessToken String The access token used for communication with PipeDrive.
OAuthRefreshToken String The OAuth refresh token. This is the same as the access token in the case of PipeDrive.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.

CData Python Connector for Pipedrive

GetOAuthAuthorizationURL

Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the OAuthAccessToken from this URL.

Input

Name Type Description
CallbackUrl String The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL in the Pipedrive app settings.
State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the Pipedrive authorization server and back. Uses include redirecting the user to the correct resource in your site, nonces, and cross-site-request-forgery mitigations.

Result Set Columns

Name Type Description
URL String The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app.

CData Python Connector for Pipedrive

LinkRemoteFile

Links an existing remote file (googledrive).

Stored Procedure-Specific Information

Executing this procedure requires setting the values for ItemId, ItemType, RemoteId, and RemoteLocation. For example:
EXEC LinkRemoteFile RemoteId = 1Kh8s-KfS02dYfw2dnEXCal8q0AZ7Wt7T0qn5pJ2PqGM, ItemType = deal, ItemId = 8230170, RemoteLocation = googledrive

Input

Name Type Description
ItemId Integer ID of the item to associate the file with.
RemoteId String The remote item Id.
ItemType String Item type.

The allowed values are deal, organization, person.

RemoteLocation String The location type to send the file to. Only googledrive is currently supported.

The allowed values are googledrive.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure

CData Python Connector for Pipedrive

MergeDeals

Merge two deals in one deal.

Stored Procedure-Specific Information

Executing this procedure requires setting the values for Id and MergeWithId. For example:
EXEC MergeDeals Id = 1, MergeWithId = 2

Input

Name Type Description
Id Integer ID of a Deal.
MergeWithId Integer ID of the deal that the deal will be merged with.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

MergeOrganizations

Merges an organization with another organization.

Input

Name Type Description
Id Integer The ID of the Organization.
MergeWithId Integer The ID of the Organization that the Organization will be merged with.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

MergePersons

Adds an audio recording to the call log.

Stored Procedure-Specific Information

Executing this procedure requires setting the values for Id and MergeWithId. For example:
EXEC MergePersons Id = 1, MergeWithId = 2

Input

Name Type Description
Id Integer ID of a person.
MergeWithId Integer The ID of the Person that will not be overwritten This Person data will be prioritized in case of conflict with the other Person.

Result Set Columns

Name Type Description
Status String Execution status of the stored procedure.

CData Python Connector for Pipedrive

RefreshOAuthAccessToken

Refreshes the OAuth access token used for authentication with Pipedrive.

Input

Name Type Description
OAuthRefreshToken String Set this to the token value that expired.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned from Pipedrive. This can be used in subsequent calls to other operations for this particular service.
OAuthRefreshToken String This is the same as the access token.
ExpiresIn String The remaining lifetime on the access token.

CData Python Connector for Pipedrive

PipedriveV2 Data Model

Overview

This section shows the available API objects and provides more information on executing SQL to Pipedrive APIs.

Key Features

  • The connector models Pipedrive entity like dealsprodcuts as a relational view, allowing you to write SQL to query Pipedrive data.
  • Stored procedures allow you to execute operations to Pipedrive
  • Live connectivity to these objects means any changes to your Pipedrive account are immediately reflected when using the connector.

    Additionally, the Pipedrive API limits the number and combinations of columns that can be projected over the data or used to restrict the results returned. Please note that the PipeDrive V2 endpoint is currently in beta.

CData Python Connector for Pipedrive

Tables

The connector models the data in Pipedrive as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for Pipedrive Tables

Name Description
Activities Returns all activities assigned to the current user, including calls, meetings, tasks, and other scheduled interactions linked to deals, leads, persons, and organizations.
Deals Returns all active deals in the Pipedrive account, including their values, ownership, pipeline stage, and associated activity and contact counts.
DealsDiscounts Returns the discounts applied to deals, including the discount type, amount, description, and the users who created and last updated each discount.
Organizations Get all organizations.
Persons Get all persons.
Pipelines Returns all pipelines, including configuration, ordering, and deal probability settings.
Products Get all products.
ProductVariations Returns all variations for a given product, including variant names and their associated pricing data.
Stages Returns all pipeline stages, including configuration for deal probability, rotten deal detection, and stage ordering.

CData Python Connector for Pipedrive

Activities

Returns all activities assigned to the current user, including calls, meetings, tasks, and other scheduled interactions linked to deals, leads, persons, and organizations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
OwnerId=
DealId=
LeadId=
PersonId=
OrgId=
Done=
UpdateTime=,<,<=,>,>=

For example, the following queries are processed server-side:

SELECT * FROM Activities WHERE Id = 1
SELECT * FROM Activities WHERE done = 0
SELECT * FROM Activities WHERE OrgId = 3          

Insert

Execute INSERT by specifying the Subject column. You can also insert any optional columns.

INSERT INTO Activities (Subject, Type) VALUES ('New Meeting', 'call')

Update

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Activities SET Subject = 'Updated activity title' WHERE Id = 1

Delete

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Activities WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the activity.

Subject String False

The subject line or title of the activity.

PublicDescription String False

A publicly visible description of the activity, shown to all participants.

Type String False

The type of the activity, such as call, meeting, task, or email.

DueTime Time False

The due time for the activity in HH:MM format.

Duration Time False

The duration of the activity in HH:MM format.

AddTime Datetime True

The date and time at which the activity was created.

UpdateTime Datetime True

The date and time at which the activity was last updated.

Busy Boolean False

Indicates whether the activity marks the assignee as busy in their calendar.

ConferenceMeetingClient String True

The name of the conference meeting client used for the activity, such as Zoom or Google Meet.

ConferenceMeetingId String True

The unique identifier of the conference call meeting.

ConferenceMeetingUrl String True

The URL used to join the conference meeting.

CreatorUserId Integer True

The unique identifier of the user who created the activity.

DealId Integer False

The unique identifier of the deal linked to the activity.

Done Boolean False

Indicates whether the activity has been marked as completed.

DueDate Date False

The date on which the activity is due.

IsDeleted Boolean True

Indicates whether the activity has been deleted.

LeadId String False

The unique identifier of the lead linked to the activity.

LocationAggregate String False

The physical or virtual location where the activity takes place.

MarkedAsDoneTime Datetime True

The date and time at which the activity was marked as completed.

Note String False

Additional notes or details recorded against the activity.

OrgId Integer False

The unique identifier of the organization linked to the activity.

OwnerId Integer False

The unique identifier of the user who owns the activity.

ParticipantsAggregate String False

A JSON aggregate containing details of the persons participating in the activity.

PersonId Integer True

The unique identifier of the person linked to the activity.

Priority Integer False

The priority level assigned to the activity.

ProjectId String False

The unique identifier of the project linked to the activity.

AttendeesAggregate String False

A JSON aggregate containing details of the attendees invited to the activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

The ID of the Filter to use.

CData Python Connector for Pipedrive

Deals

Returns all active deals in the Pipedrive account, including their values, ownership, pipeline stage, and associated activity and contact counts.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
OwnerId=
PersonId=
OrgId=
StageId=
PipelineId=
Status=
FilterId=
UpdateTime=,<,<=,>,>=

For example, the following queries are processed server-side:

SELECT * FROM Deals WHERE Id = 14

SELECT * FROM Deals WHERE StageId = 1

SELECT * FROM Deals WHERE Status = 'Open'

SELECT * FROM Deals WHERE FilterId = 1                    

INSERT

Execute INSERT by specifying the following columns. You can also insert any columns that are not required. For example:

INSERT INTO Deals (Title, Currency, StageId, LabelIds) VALUES ('title', 'USD', 1, '[76, 86]')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Deals SET Title = 'test' WHERE Id = 2

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Deals WHERE Id = 105

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the deal.

Title String False

The title or name of the deal.

CreatorUserId Integer True

The unique identifier of the user who created the deal.

OwnerId Integer False

The unique identifier of the user who owns the deal.

Value Double False

The monetary value of the deal.

PersonId Integer False

The unique identifier of the person associated with the deal.

OrgId Integer False

The unique identifier of the organization associated with the deal.

StageId Integer False

The unique identifier of the pipeline stage the deal is currently in.

PipelineId Integer False

The unique identifier of the pipeline the deal belongs to.

Currency String False

The currency code for the deal value, such as USD or EUR.

AddTime Datetime False

The date and time at which the deal was created.

UpdateTime Datetime True

The date and time at which the deal was last updated.

StageChangeTime Datetime True

The date and time at which the deal last moved to a different pipeline stage.

Status String False

The current status of the deal.

The allowed values are open, won, lost, deleted.

IsDeleted Boolean False

Indicates whether the deal has been deleted.

Probability Integer False

The probability percentage that the deal will be won, expressed as a value between 0 and 100.

LostReason String False

The reason recorded when the deal was marked as lost.

VisibleTo Integer False

The visibility setting for the deal, controlling which users can see it.

CloseTime Datetime False

The date and time at which the deal was closed as won or lost.

WonTime Datetime False

The date and time at which the deal was marked as won.

LostTime Datetime False

The date and time at which the deal was marked as lost.

LocalWonDate Date True

The date on which the deal was won, expressed in the user's local timezone.

LocalLostDate Date True

The date on which the deal was lost, expressed in the user's local timezone.

LocalCloseDate Date True

The date on which the deal was closed, expressed in the user's local timezone.

ExpectedCloseDate Date False

The date on which the deal is expected to close.

LabelIds String False

A JSON aggregate containing the unique identifiers of labels applied to the deal.

Origin String True

The source channel through which the deal was created, such as web, API, or import.

OriginId String True

The unique identifier of the originating record in the source channel.

Channel Integer True

The numeric code representing the marketing or acquisition channel associated with the deal.

ChannelId String True

The unique identifier of the marketing or acquisition channel associated with the deal.

Acv Integer True

The Annual Contract Value (ACV) associated with the deal.

Arr Integer True

The Annual Recurring Revenue (ARR) associated with the deal.

Mrr Integer True

The Monthly Recurring Revenue (MRR) associated with the deal.

NextActivityId Integer True

The unique identifier of the next scheduled activity for the deal.

LastActivityId Integer True

The unique identifier of the most recently completed activity for the deal.

FirstWonTime Datetime True

The date and time at which the deal was first marked as won.

ProductsCount Integer True

The total number of products attached to the deal.

FilesCount Integer True

The total number of files attached to the deal.

NotesCount Integer True

The total number of notes associated with the deal.

FollowersCount Integer True

The total number of users following the deal.

EmailMessagesCount Integer True

The total number of email messages associated with the deal.

ActivitiesCount Integer True

The total number of activities associated with the deal.

DoneActivitiesCount Integer True

The total number of completed activities associated with the deal.

UndoneActivitiesCount Integer True

The total number of incomplete activities associated with the deal.

ParticipantsCount Integer True

The total number of participants associated with the deal.

LastIncomingMailTime Datetime True

The date and time of the most recent incoming email message associated with the deal.

LastOutgoingMailTime Datetime True

The date and time of the most recent outgoing email message associated with the deal.

CustomFields String True

A JSON aggregate containing any custom field values defined for the deal.

ArchiveTime Datetime False

The date and time at which the deal was archived.

IsArchived Boolean False

Indicates whether the deal is currently archived.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

Filter Id.

CData Python Connector for Pipedrive

DealsDiscounts

Returns the discounts applied to deals, including the discount type, amount, description, and the users who created and last updated each discount.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
DealId=

For example, the following queries are processed server-side:

SELECT * FROM DealsDiscounts WHERE DealId = 10

SELECT * FROM DealsDiscounts WHERE Id = 5 AND DealId = 10

Insert

Execute INSERT by specifying the DealId, Type, Amount, and Description columns. You can also insert any columns that are not read-only.

INSERT INTO DealsDiscounts (DealId, Type, Amount, Description) VALUES (10, 'percentage', 15, 'Holiday discount')

Update

Execute UPDATE by specifying the Id and DealId in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE DealsDiscounts SET Amount = 20 WHERE Id = 5 AND DealId = 10

Delete

Execute DELETE by specifying the Id and DealId in the WHERE clause. For example:

DELETE FROM DealsDiscounts WHERE Id = 5 AND DealId = 10

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier of the discount applied to the deal.

Type String False

The type of discount applied to the deal, such as percentage or fixed currency amount.

Amount Integer False

The numeric amount of the discount applied to the deal.

CreatedAt Datetime True

The date and time at which the discount was created.

CreatedBy Integer True

The unique identifier of the user who created the discount.

DealId [KEY] Integer False

The unique identifier of the deal to which the discount is applied.

Description String False

A text description explaining the reason or purpose of the discount.

UpdatedAt Datetime True

The date and time at which the discount was last updated.

UpdatedBy Integer True

The unique identifier of the user who last updated the discount.

CData Python Connector for Pipedrive

Organizations

Get all organizations.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
OwnerId=
UpdateTime=,<,<=,>,>=

For example, the following queries are processed server-side:

SELECT * FROM Organizations WHERE Id = 1   
SELECT * FROM Organizations WHERE OwnerId = 1         

INSERT

Execute INSERT by specifying the Name column. All columns that are not required are optional. For example:

INSERT INTO Organizations (Name, AddressAggregate) VALUES ('[Sample] New Org 5', '[{\"label\": \"work\",\"value\": \"123 Elm Street, Springfield123\"}]')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Organizations SET Name = 'Updated Org name' WHERE Id = 1

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Organizations WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the organization.

Name String False

The name of the organization.

AddressAggregate String False

The address of the organization.

Website String True

The website of the organization.

AddTime Datetime False

The date-time at which the organization was added.

OwnerId Integer False

The Id of the owner of the organization.

AnnualRevenue String True

The annual revenue of the organization.

CustomFields String True

The custom-fields for the organization.

EmployeeCount String True

The count of employees in the organization.

Industry String True

The industry corresponding to the organization.

IsDeleted Boolean True

Indicates whether the organization is deleted.

LabelIds String False

The array of label Ids corresponding to the organization.

LinkedIn String True

The LinkedIn Id corresponding to the organization.

UpdateTime Datetime True

The last updated date and time of the organization.

VisibleTo Integer False

The visibility of the organization.

NextActivityId Integer True

Next Activity Id.

LastActivityId Integer True

Last Activity Id.

OpenDealsCount Integer True

Open Deals Count.

RelatedOpenDealsCount Integer True

Related Open Deals Count.

ClosedDealsCount Integer True

Closed Deals Count.

RelatedClosedDealsCount Integer True

Related Closed Deals Count.

EmailMessagesCount Integer True

Email Messages Count.

PeopleCount Integer True

People Count.

ActivitiesCount Integer True

Activities Count.

DoneActivitiesCount Integer True

Done Activities Count.

UndoneActivitiesCount Integer True

Undone Activities Count.

FilesCount Integer True

Files Count.

NotesCount Integer True

Notes Count.

FollowersCount Integer True

Followers Count.

WonDealsCount Integer True

Won Deals Count.

RelatedWonDealsCount Integer True

Related Won Deals Count.

LostDealsCount Integer True

Lost Deals Count.

RelatedLostDealsCount Integer True

Related Lost Deals Count.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

Filter Id.

CData Python Connector for Pipedrive

Persons

Get all persons.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
OwnerId=
OrgId=
DealId=
UpdateTime=,<,<=,>,>=

For example, the following queries are processed server-side:

SELECT * FROM Persons WHERE Id = 1  
SELECT * FROM Persons WHERE OwnerId = 1 AND OrgId = 2      
SELECT * FROM Persons WHERE DealId = 1  

INSERT

Execute INSERT by specifying the Name column. All columns that are not required are optional. For example:

INSERT INTO Persons (Name) VALUES ('New name 1')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Persons SET Name = 'Updated name 1' WHERE Id = 10

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Persons WHERE Id = 10

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the person.

Name String False

The name of the person.

FirstName String True

The first name of the person.

LastName String True

The last name of the person.

EmailsAggregate String False

The array of email details.

PhonesAggregate String False

The array of phone details.

AddTime Datetime False

The date-time at which the person's data was added.

CustomFields String False

The custom-fields for the person.

IsDeleted Boolean True

Indicates whether the person's data is deleted.

LabelIds String False

The Id of the label associated with the person.

OrgId Integer False

The Id of the organization associated with the person.

OwnerId Integer False

The Id of the owner associated with the person data.

PictureId String True

The Id of the picture associated with the person.

UpdateTime Datetime True

The date-time at which the person's data was updated.

VisibleTo Integer False

The visibility of the person.

NextActivityId Integer True

Next Activity Id.

LastActivityId Integer True

Last Activity Id.

OpenDealsCount Integer True

Open Deals Count.

RelatedOpenDealsCount Integer True

Related Open Deals Count.

ClosedDealsCount Integer True

Closed Deals Count.

RelatedClosedDealsCount Integer True

Related Closed Deals Count.

ParticipantOpenDealsCount Integer True

Participant Open Deals Count.

ParticipantClosedDealsCount Integer True

Participant Closed Deals Count.

EmailMessagesCount Integer True

Email Messages Count.

ActivitiesCount Integer True

Activities Count.

DoneActivitiesCount Integer True

Done Activities Count.

UndoneActivitiesCount Integer True

Undone Activities Count.

FilesCount Integer True

Files Count.

NotesCount Integer True

Notes Count.

FollowersCount Integer True

Followers Count.

WonDealsCount Integer True

Won Deals Count.

RelatedWonDealsCount Integer True

Related Won Deals Count.

LostDealsCount Integer True

Lost Deals Count.

RelatedLostDealsCount Integer True

Related Lost Deals Count.

LastIncomingMailTime Datetime True

Last Incoming Mail Time.

LastOutgoingMailTime Datetime True

Last Outgoing Mail Time.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer

Filter Id.

DealId Integer

The Id of the deal corresponding to the activity

CData Python Connector for Pipedrive

Pipelines

Returns all pipelines, including configuration, ordering, and deal probability settings.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Pipelines WHERE Id = 1        

INSERT

Execute INSERT by specifying the Name column. All columns that are not required are optional. For example:

INSERT INTO Pipelines (Name) VALUES ('Pipeline 2')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. All columns that are not read-only can be updated. For example:

UPDATE Pipelines Set Name = 'Updated Pipeline 2' WHERE Id = 4

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Pipelines WHERE Id = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the pipeline.

Name String False

The name of the pipeline.

AddTime Datetime True

The date and time when the pipeline was created.

IsDealProbabilityEnabled Boolean False

Whether deal win probability tracking is enabled for this pipeline.

IsDeleted Boolean True

Whether the pipeline has been deleted.

OrderNr Integer True

The display order number of the pipeline relative to other pipelines.

UpdateTime Datetime True

The date and time when the pipeline was last updated.

CData Python Connector for Pipedrive

Products

Get all products.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=

For example, the following query is processed server-side:

SELECT * FROM Products WHERE Id = 1   

INSERT

Execute INSERT by specifying the Name column. You can also insert any optional columns. For example:

INSERT INTO Products (Name) VALUES ('My product name')

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Products SET Name = 'Updated product name' WHERE Id = 8

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Products WHERE Id = 8

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the product.

Name String False

The name of the product.

Description String False

The description of the product.

PricesAggregate String False

Array of price details for the product.

Tax Integer False

The tax levied on the product.

Unit String False

The unit in which this product is sold.

AddTime Datetime True

The date-time at which the product was added.

BillingFrequency String False

The frequency of billing of the product.

BillingFrequencyCycles Integer False

The cycle of the billing frequency of the product.

Category Integer False

The category of the product.

Code String False

The code of the product.

CustomFields String False

The custom-fields for the product.

IsDeleted Boolean True

Indicates whether the product is deleted.

IsLinkable Boolean False

Whether this product can be added to a deal or not.

OwnerId Integer False

The Id of the owner of the product.

UpdateTime Datetime True

The date-time at which the product was updated.

VisibleTo Integer False

The visibility of the product.

CData Python Connector for Pipedrive

ProductVariations

Returns all variations for a given product, including variant names and their associated pricing data.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ProductId=

For example, the following query is processed server-side:

SELECT * FROM ProductVariations WHERE ProductId = 1        

INSERT

Execute INSERT by specifying the Name and ProductId columns. You can also insert any optional columns. For example:

INSERT INTO ProductVariations (Name, ProductId) VALUES ('product var', 1)

UPDATE

Execute UPDATE by specifying the Id and ProductId in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE ProductVariations SET Name = 'updated product var' WHERE Id = 2 AND ProductId = 1

DELETE

Execute DELETE by specifying the Id and ProductId in the WHERE clause. For example:

DELETE FROM ProductVariations WHERE Id = 2 AND ProductId = 1

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the product variant.

Name String False

The name of the product variant.

PricesAggregate String False

The array of the price data of the product variant.

ProductId [KEY] Integer False

The unique identifier of the product this variant belongs to.

CData Python Connector for Pipedrive

Stages

Returns all pipeline stages, including configuration for deal probability, rotten deal detection, and stage ordering.

Table-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
PipelineId=

For example, the following queries are processed server-side:

SELECT * FROM Stages WHERE Id = 1
SELECT * FROM Stages WHERE PipelineId = 1       

INSERT

Execute INSERT by specifying the Name and PipelineId columns. You can also insert any optional columns. For example:

INSERT INTO Stages (Name, PipelineId) VALUES ('New Stage',1)

UPDATE

Execute UPDATE by specifying the Id in the WHERE clause. You can update any columns that are not read-only. For example:

UPDATE Stages SET Name = 'Updated Stage' WHERE Id = 8

DELETE

Execute DELETE by specifying the Id in the WHERE clause. For example:

DELETE FROM Stages WHERE Id = 8

Columns

Name Type ReadOnly References Description
Id [KEY] Integer True

The unique identifier of the stage.

Name String False

The name of the stage.

AddTime Datetime True

The date and time when the stage was created.

DaysToRotten Integer False

The number of days a deal must remain without updates in this stage before it becomes rotten.

DealProbability Integer False

The win probability percentage assigned to deals in this stage.

IsDealRotEnabled Boolean False

Whether deals in this stage can become rotten after a period of inactivity.

IsDeleted Boolean True

Whether the stage has been deleted.

OrderNr Integer True

The display order number of the stage within its pipeline.

PipelineId Integer False

The unique identifier of the pipeline this stage belongs to.

UpdateTime Datetime True

The date and time when the stage was last updated.

CData Python Connector for Pipedrive

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for Pipedrive Views

Name Description
ActivitiesAttendees Returns the list of attendees for each activity, including their email address, name, organizer status, and attendance status.
ActivitiesParticipants Returns the list of participants for each activity, identifying each person linked to the activity and whether they are the primary contact.
DealsArchived Returns data about all archived deals.
DealsProducts Returns all products attached to deals, including pricing, quantity, discount, and billing details for each product-deal attachment.
PersonsEmails Returns all email addresses associated with persons, including the label, value, and whether each address is the primary contact address.
PersonsPhone Returns all phone numbers associated with persons, including the label, value, and whether each number is the primary contact number.

CData Python Connector for Pipedrive

ActivitiesAttendees

Returns the list of attendees for each activity, including their email address, name, organizer status, and attendance status.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ActivitiesId=
FilterId=
OwnerId=
DealId=
LeadId=
PersonId=
OrgId=
Done=

For example, the following queries are processed server-side:

SELECT * FROM ActivitiesAttendees WHERE ActivitiesId = 246

SELECT * FROM ActivitiesAttendees WHERE Done = false

SELECT * FROM ActivitiesAttendees WHERE PersonId = 1
 
SELECT * FROM ActivitiesAttendees WHERE DealId = 2

SELECT * FROM ActivitiesAttendees WHERE OrgId = 1

Columns

Name Type References Description
ActivitiesId [KEY] Integer

Activities.Id

The unique identifier of the parent activity.
EmailAddress [KEY] String The email address of the attendee.
IsOrganizer Boolean Indicates whether the attendee is the organizer of the activity.
Name String The full name of the attendee.
AttendeePersonId Integer The unique identifier of the Pipedrive person record associated with the attendee.
Status String The attendance status of the attendee, such as accepted, declined, or tentative.
UserId Integer The unique identifier of the Pipedrive user account associated with the attendee.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer The ID of the Filter to use.
OwnerId Integer The id of the owner of the activity.
DealId Integer The id of the deal corresponding to the activity
LeadId String The Id of the lead corresponding to the activity.
PersonId Integer The id of the person corresponding to the activity.
OrgId Integer The id of the organisation corresponding to the activity.
Done Boolean Whether the Activity is done or not. If omitted, returns both Done and Not done activities.

CData Python Connector for Pipedrive

ActivitiesParticipants

Returns the list of participants for each activity, identifying each person linked to the activity and whether they are the primary contact.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
ActivitiesId=
FilterId=
OwnerId=
DealId=
LeadId=
PersonId=
OrgId=
Done=

For example, the following queries are processed server-side:

SELECT * FROM ActivitiesParticipants WHERE ActivitiesId = 246

SELECT * FROM ActivitiesParticipants WHERE Done = true

SELECT * FROM ActivitiesParticipants WHERE PersonId = 1
 
SELECT * FROM ActivitiesParticipants WHERE DealId = 2

SELECT * FROM ActivitiesParticipants WHERE OrgId = 1                  

Columns

Name Type References Description
ParticipantPersonId [KEY] Integer The unique identifier of the person record associated with this participant.
ActivitiesId [KEY] Integer

Activities.Id

The unique identifier of the parent activity.
PrimaryFlag Boolean Indicates whether this participant is the primary contact for the activity.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer The ID of the Filter to use.
OwnerId Integer The id of the owner of the activity.
DealId Integer The id of the deal corresponding to the activity
LeadId String The Id of the lead corresponding to the activity.
PersonId Integer The id of the person corresponding to the activity.
OrgId Integer The id of the organisation corresponding to the activity.
Done Boolean Whether the Activity is done or not. If omitted, returns both Done and Not done activities.

CData Python Connector for Pipedrive

DealsArchived

Returns data about all archived deals.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
OwnerId=
PersonId=
OrgId=
StageId=
PipelineId=
UpdateTime=
Status=
FilterId=

For example, the following queries are processed server-side:

SELECT * FROM DealsArchived WHERE Id = 14

SELECT * FROM DealsArchived WHERE StageId = 1

SELECT * FROM DealsArchived WHERE Status = 'Open'

SELECT * FROM DealsArchived WHERE FilterId = 1                    

Order by is supported server-side for following columns: Id, AddTime, UpdateTime.

Columns

Name Type References Description
Id [KEY] Integer Deals id.
Title String Title.
CreatorUserId Integer Creator User Id.
OwnerId Integer Owner Id.
Value Double Value of the deal.
PersonId Integer Person Id.
OrgId Integer Org Id.
StageId Integer Stage Id.
PipelineId Integer Pipeline Id.
Currency String Currency.
AddTime Datetime Add Time.
ArchiveTime Datetime Archive Time.
UpdateTime Datetime Update Time.
StageChangeTime Datetime Stage Change Time.
Status String Status.

The allowed values are open, won, lost, deleted.

IsArchived Boolean A flag indicating whether the deal is archived or not.
IsDeleted Boolean A flag indicating whether the deal is deleted or not.
Probability Integer Gives the Probability percentage rounded off to nearest integer.
LostReason String Lost Reason.
VisibleTo Integer Visible To.
CloseTime Datetime Close Time.
WonTime Datetime Won Time.
LostTime Datetime Lost Time.
LocalWonDate Date Local Won Date.
LocalLostDate Date Local Lost Date.
LocalCloseDate Date Local Close Date.
ExpectedCloseDate Date Expected Close Date.
LabelIds String Label Ids.
Origin String Origin.
OriginId String Origin Id.
Channel Integer Channel.
ChannelId String Channel Id.
Acv Integer Acv.
Arr Integer Arr.
Mrr Integer Mrr.
ActivitiesCount Integer Activities Count.
SmartBccEmail String SmartBccEmail.
NextActivityId Integer Next Activity Id.
LastActivityId Integer Last Activity Id.
FirstWonTime Datetime First Won Time.
ProductsCount Integer Last Activity Id.
FilesCount Integer Products Count.
NotesCount Integer Notes Count.
FollowersCount Integer Followers Count.
EmailMessagesCount Integer Email Messages Count.
DoneActivitiesCount Integer Done Activities Count.
UndoneActivitiesCount Integer Undone Activities Count.
ParticipantsCount Integer Participants Count.
LastIncomingMailTime Datetime Last Incoming Mail Time.
LastOutgoingMailTime Datetime Last Outgoing Mail Time.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer The ID of the Filter to use. Filter is a set of data validation conditions.

CData Python Connector for Pipedrive

DealsProducts

Returns all products attached to deals, including pricing, quantity, discount, and billing details for each product-deal attachment.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
Id=
DealId=

For example, the following query is processed server-side:

SELECT * FROM DealsProductsV2 WHERE Id = 9 AND DealId = 10;

Columns

Name Type References Description
Id [KEY] Integer The unique identifier of the product-deal attachment.
IsEnabled Boolean Whether this product-deal attachment is enabled and active.
AddTime Datetime The date and time when the product was attached to the deal.
UpdateTime Datetime The date and time when the product-deal attachment was last updated.
Comments String Any textual comment associated with this product-deal attachment.
Currency String The currency code for the product price in this deal, for example USD or EUR.
Discount Double The discount applied to this product in the deal, expressed as a percentage or fixed amount depending on DiscountType.
DealId Integer The unique identifier of the deal this product is attached to.
ItemPrice Double Price at which this product will be added to the deal.
Name String The name of the product attached to the deal.
BillingFrequency String The frequency at which the product is billed, for example monthly or annually.
BillingFrequencyCycles Integer The number of billing cycles for the product in this deal.
BillingStartDate Datetime The date on which billing for this product in the deal begins.
TaxMethod String The method used to apply tax to this product, for example exclusive or inclusive.
DiscountType String The type of discount applied, for example percentage or amount.
ProductId Integer ID of the product that will be attached.
ProductVariationId Integer ID of the product variation.
Quantity Double How many items of this product will be added to the deal.
Sum Double The total sum for this product line in the deal after applying quantity, price, and discount.
Tax Double Tax percentage.

The default value is 0.

CData Python Connector for Pipedrive

PersonsEmails

Returns all email addresses associated with persons, including the label, value, and whether each address is the primary contact address.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=
FilterId=
OwnerId=
DealId=
OrgId=

For example, the following queries are processed server-side:

SELECT * FROM PersonsEmails WHERE PersonId = 14

SELECT * FROM PersonsEmails WHERE OwnerId = 2

SELECT * FROM PersonsEmails WHERE DealId = 1
 
SELECT * FROM PersonsEmails WHERE OrgId = 1

Columns

Name Type References Description
PersonId Integer

Persons.Id

The unique identifier of the parent person record.
Label String The category label for the email address, such as work, home, or other.
Value String The email address.
Primary Boolean Indicates whether this is the primary email address for the person.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer Filter Id.
OwnerId Integer Owner Id.
DealId Integer The id of the deal corresponding to the activity
OrgId Integer The id of the organisation corresponding to the activity.

CData Python Connector for Pipedrive

PersonsPhone

Returns all phone numbers associated with persons, including the label, value, and whether each number is the primary contact number.

View-Specific Information

SELECT

The connector uses the Pipedrive API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the connector.

ColumnSupported Operators
PersonId=
FilterId=
OwnerId=
DealId=
OrgId=

For example, the following queries are processed server-side:

SELECT * FROM PersonsPhone WHERE PersonId = 14

SELECT * FROM PersonsPhone WHERE OwnerId = 2

SELECT * FROM PersonsPhone WHERE DealId = 1
 
SELECT * FROM PersonsPhone WHERE OrgId = 1                

Columns

Name Type References Description
PersonId Integer

Persons.Id

The unique identifier of the parent person record.
Label String The category label for the phone number, such as work, home, mobile, or other.
Value String The phone number.
Primary Boolean Indicates whether this is the primary phone number for the person.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
FilterId Integer Filter Id.
OwnerId Integer Owner Id.
DealId Integer The id of the deal corresponding to the activity
OrgId Integer The id of the organisation corresponding to the activity.

CData Python Connector for Pipedrive

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with Pipedrive.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Pipedrive, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for Pipedrive Stored Procedures

Name Description
GetOAuthAccessToken Gets an authentication token from PipeDrive.
GetOAuthAuthorizationURL Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the OAuthAccessToken from this URL.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication with Pipedrive.

CData Python Connector for Pipedrive

GetOAuthAccessToken

Gets an authentication token from PipeDrive.

Input

Name Type Description
AuthMode String The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app.

The allowed values are APP, WEB.

The default value is APP.

CallbackUrl String The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL you have specified in the PipeDrive app settings. Only needed when the Authmode parameter is Web.
Verifier String The verifier returned from PipeDrive after the user has authorized your app to have access to their data. This value will be returned as a parameter to the callback URL.
State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the PipeDrive authorization server and back. Uses include redirecting the user to the correct resource in your site, nonces, and cross-site-request-forgery mitigations.

Result Set Columns

Name Type Description
OAuthAccessToken String The access token used for communication with PipeDrive.
OAuthRefreshToken String The OAuth refresh token. This is the same as the access token in the case of PipeDrive.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.

CData Python Connector for Pipedrive

GetOAuthAuthorizationURL

Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps. You will request the OAuthAccessToken from this URL.

Input

Name Type Description
CallbackUrl String The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL in the Pipedrive app settings.
State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the Pipedrive authorization server and back. Uses include redirecting the user to the correct resource in your site, nonces, and cross-site-request-forgery mitigations.

Result Set Columns

Name Type Description
URL String The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app.

CData Python Connector for Pipedrive

RefreshOAuthAccessToken

Refreshes the OAuth access token used for authentication with Pipedrive.

Input

Name Type Description
OAuthRefreshToken String Set this to the token value that expired.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned from Pipedrive. This can be used in subsequent calls to other operations for this particular service.
OAuthRefreshToken String This is the same as the access token.
ExpiresIn String The remaining lifetime on the access token.

CData Python Connector for Pipedrive

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for Pipedrive:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries, including batch operations:

  • sys_identity: Returns information about batch operations or single updates.

CData Python Connector for Pipedrive

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs

Columns

Name Type Description
CatalogName String The database name.

CData Python Connector for Pipedrive

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

          SELECT * FROM sys_schemas
          

Columns

Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

CData Python Connector for Pipedrive

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

          SELECT * FROM sys_tables
          

Columns

Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.
IsInsertable Boolean Whether the table can be inserted into.
IsDeleteable Boolean Whether rows can be deleted from the table.

CData Python Connector for Pipedrive

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Deals table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName = 'Deals' 

Columns

Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.
IsReadOnly Boolean Whether the column is read-only.
IsKey Boolean Indicates whether a field returned from sys_tablecolumns is the primary key of the table.
ColumnType String The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN.
ColumnCapabilities Int32 A bit mask denoting the column's write capabilities. The value is the sum of the following: 1 if the column is required for INSERTs, 2 if the column is allowed for INSERTs, and 4 if the column is allowed for UPDATEs. A value of 0 indicates that the write capabilities of the column are unknown or that the column is read-only.

CData Python Connector for Pipedrive

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

          SELECT * FROM sys_procedures
          

Columns

Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

CData Python Connector for Pipedrive

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the AddFile stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'AddFile' AND Direction = 1 OR Direction = 2

To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'AddFile' AND IncludeResultColumns='True'

Columns

Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
DataTypeName String The name of the data type.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.
Values String The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated.
SupportsStreams Boolean Whether the parameter represents a file that you can pass as either a file path or a stream.
IsPath Boolean Whether the parameter is a target path for a schema creation operation.
Default String The value used for this parameter when no value is specified.
SpecificName String A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here.
IsCDataProvided Boolean Whether the procedure is added/implemented by CData, as opposed to being a native Pipedrive procedure.

Pseudo-Columns

Name Type Description
IncludeResultColumns Boolean Whether the output should include columns from the result set in addition to parameters. Defaults to False.

CData Python Connector for Pipedrive

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Deals table:

         SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Deals' 
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

CData Python Connector for Pipedrive

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

         SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

CData Python Connector for Pipedrive

sys_primarykeys

Describes the primary keys.

The following query retrieves the primary keys from all tables and views:

         SELECT * FROM sys_primarykeys
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
KeySeq String The sequence number of the primary key.
KeyName String The name of the primary key.

CData Python Connector for Pipedrive

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

          SELECT * FROM sys_indexes WHERE IsPrimary='false'
          

Columns

Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

CData Python Connector for Pipedrive

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''

Columns

Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

CData Python Connector for Pipedrive

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

See SQL Compliance for SQL syntax details.

Discovering the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

NameDescriptionPossible Values
AGGREGATE_FUNCTIONSSupported aggregation functions.AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNTWhether COUNT function is supported.YES, NO
IDENTIFIER_QUOTE_OPEN_CHARThe opening character used to escape an identifier.[
IDENTIFIER_QUOTE_CLOSE_CHARThe closing character used to escape an identifier.]
SUPPORTED_OPERATORSA list of supported SQL operators.=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BYWhether GROUP BY is supported, and, if so, the degree of support.NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
OJ_CAPABILITIESThe supported varieties of outer joins supported.NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS
OUTER_JOINSWhether outer joins are supported.YES, NO
SUBQUERIESWhether subqueries are supported, and, if so, the degree of support.NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED
STRING_FUNCTIONSSupported string functions.LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONSSupported numeric functions.ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONSSupported date/time functions.NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLESIndicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNSA string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERNString value indicating what string is valid for an identifier.
SUPPORT_TRANSACTIONIndicates if the provider supports transactions such as commit and rollback.YES, NO
DIALECTIndicates the SQL dialect to use.
KEY_PROPERTIESIndicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMASIndicates if multiple schemas may exist for the provider.YES, NO
SUPPORTS_MULTIPLE_CATALOGSIndicates if multiple catalogs may exist for the provider.YES, NO
DATASYNCVERSIONThe CData Data Sync version needed to access this driver.Standard, Starter, Professional, Enterprise
DATASYNCCATEGORYThe CData Data Sync category of this driver.Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQLWhether enhanced SQL functionality beyond what is offered by the API is supported.TRUE, FALSE
SUPPORTS_BATCH_OPERATIONSWhether batch operations are supported.YES, NO
SQL_CAPAll supported SQL capabilities for this driver.SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONSA string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERYIndicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side.YES, NO
PSEUDO_COLUMNSA string array indicating the available pseudo columns.
MERGE_ALWAYSIf the value is true, The Merge Mode is forcibly executed in Data Sync.TRUE, FALSE
REPLICATION_MIN_DATE_QUERYA select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTIONAllows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATEAllows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERYA select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTIONAllows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATEA list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTIDIndicates whether the CheckCache statement should be done against the parent key column.TRUE, FALSE
CREATE_SCHEMA_PROCEDURESIndicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.

Columns

Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

CData Python Connector for Pipedrive

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

         SELECT * FROM sys_identity
          

Columns

Name Type Description
Id String The database-generated Id returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

CData Python Connector for Pipedrive

sys_information

Describes the available system information.

The following query retrieves all columns:

SELECT * FROM sys_information

Columns

NameTypeDescription
ProductStringThe name of the product.
VersionStringThe version number of the product.
DatasourceStringThe name of the datasource the product connects to.
NodeIdStringThe unique identifier of the machine where the product is installed.
HelpURLStringThe URL to the product's help documentation.
LicenseStringThe license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.)
LocationStringThe file path location where the product's library is stored.
EnvironmentStringThe version of the environment or rumtine the product is currently running under.
DataSyncVersionStringThe tier of CData Sync required to use this connector.
DataSyncCategoryStringThe category of CData Sync functionality (e.g., Source, Destination).

CData Python Connector for Pipedrive

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
AuthSchemeWhether to use Basic Authentication or OAuth Authentication when connecting to PipeDrive.
SchemaSpecify the Pipedrive API version to use.
APITokenThe API Token used for accessing your PipeDrive account.
CompanyDomainThe company domain used for accessing your Pipedrive account.

OAuth


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to Pipedrive via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

SSL


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.

Proxy


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Logging


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Schema


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Caching


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live Pipedrive data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.

Miscellaneous


PropertyDescription
IncludeCustomFieldsSet to true to retrieve custom fields values for deals, dealsarchived, organizations, persons and products.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to Pipedrive from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for Pipedrive

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
AuthSchemeWhether to use Basic Authentication or OAuth Authentication when connecting to PipeDrive.
SchemaSpecify the Pipedrive API version to use.
APITokenThe API Token used for accessing your PipeDrive account.
CompanyDomainThe company domain used for accessing your Pipedrive account.
CData Python Connector for Pipedrive

AuthScheme

Whether to use Basic Authentication or OAuth Authentication when connecting to PipeDrive.

Possible Values

Basic, OAuth

Data Type

string

Default Value

"Basic"

Remarks

Whether to use Basic Authentication or OAuth Authentication when connecting to PipeDrive.

CData Python Connector for Pipedrive

Schema

Specify the Pipedrive API version to use.

Possible Values

Pipedrive, PipedriveV2

Data Type

string

Default Value

"Pipedrive"

Remarks

Select from the following to specify which API version of Pipedrive to use:

  • Pipedrive for API version V1.
  • PipedriveV2 for API version V2.

Note: The V2 API is currently in beta phase.

CData Python Connector for Pipedrive

APIToken

The API Token used for accessing your PipeDrive account.

Data Type

string

Default Value

""

Remarks

The API Token can be found in PipeDrive by going to account name (on the top right) -> Company settings -> Personal preferences -> API.

CData Python Connector for Pipedrive

CompanyDomain

The company domain used for accessing your Pipedrive account.

Data Type

string

Default Value

""

Remarks

The company Domain used for accessing your Pipedrive account. You can get it manually from the Pipedrive app by logging into your Developer Sandbox account and seeing the URL.

Here are examples of supported values:

  • https://cdata-sandbox.pipedrive.com
  • cdata-sandbox

CData Python Connector for Pipedrive

OAuth

This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to Pipedrive via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.
CData Python Connector for Pipedrive

InitiateOAuth

Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.

Possible Values

OFF, REFRESH, GETANDREFRESH

Data Type

string

Default Value

"OFF"

Remarks

OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for:

  • Logging in users.
  • Exchanging user credentials for an OAuth access token to be used for authentication.
  • Providing limited access to applications.

The options for initiating and maintaining OAuth access are named for the parts of that flow that the connector handles:

OFF The connector provides no automatic OAuth flow initiation. The OAuth flow is handled entirely by the user.
This means that the user must refresh the token manually, and reconnect with an updated OAuthAccessToken property when the current token expires.
GETANDREFRESH The connector handles the entire OAuth flow (both GET and REFRESH). This means that if a token already exists, the connector refreshes it when necessary; if no token currently exists, the connector obtains it by prompting the user to login.
REFRESH The user obtains the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate.) After the user logs in, the connector handles the refresh of the OAuth Access Token.

For more information on how to set up OAuth and use this property when configuring a connection, see Establishing a Connection.

CData Python Connector for Pipedrive

OAuthClientId

Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.

Data Type

string

Default Value

""

Remarks

This property is required in two cases:

  • When using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration.
  • If the driver does not provide embedded OAuth credentials.

(When the driver provides embedded OAuth credentials, this value may already be provided by the connector and thus not require manual entry.)

OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.

OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.

While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Pipedrive

OAuthClientSecret

Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.

The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.

OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.

Notes:

  • This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments.
  • Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.

For more information on how this property is used when configuring a connection, see Establishing a Connection

CData Python Connector for Pipedrive

OAuthAccessToken

Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.

Data Type

string

Default Value

""

Remarks

OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.

The OAuth access token has a server-dependent timeout, limiting user access. The timeout is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.

If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.

Note: Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Pipedrive

OAuthSettingsLocation

Specifies the location of the settings file where OAuth values are saved.

Data Type

string

Default Value

"%APPDATA%\\CData\\Pipedrive Data Provider\\OAuthSettings.txt"

Remarks

Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.

You can store OAuth values in a central file for shared access to those values, in either of the following ways:

  • Set InitiateOAuth to either GETANDREFRESH or REFRESH and specify a filepath to the OAuth settings file.
  • Use memory storage to load the credentials into static memory.

The following sections provide more detail on each of these methods.

Specifying the OAuthSettingsLocation Filepath

The default OAuth setting location is %APPDATA%\\CData\\Pipedrive Data Provider\\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory. Default values vary, depending on the user's operating system.

  • Windows (ODBC and Power BI): registry://%DSN%
  • Windows: %APPDATA%CDataPipedrive Data Provider\OAuthSettings.txt
  • Mac: %APPDATA%/CData/Pipedrive Data Provider/OAuthSettings.txt
  • Linux: %APPDATA%/CData/Pipedrive Data Provider/OAuthSettings.txt

Loading Credentials Via Memory Storage

Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.

Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.

To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

Supported Storage Types

  • memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)
  • registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name like registry://CData Python Connector for Pipedrive Data Source, or registry://%DSN%.
  • %DSN%: The name of the DSN you are connecting with.
  • Default (no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with %APPDATA% or %PROGRAMFILES%.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Pipedrive

CallbackURL

Identifies the URL users return to after authenticating to Pipedrive via OAuth (Custom OAuth applications only).

Data Type

string

Default Value

""

Remarks

If you created a custom OAuth application, the OAuth authorization server redirects the user to this URL during the authentication process. This value must match the callback URL you specified when you configured the custom OAuth application.

CData Python Connector for Pipedrive

OAuthVerifier

Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.

Data Type

string

Default Value

""

Remarks

For detailed instructions about how to obtain the OAuthVerifier value, see Establishing a Connection.

CData Python Connector for Pipedrive

OAuthRefreshToken

Specifies the OAuth refresh token used to request a new access token after the original has expired.

Data Type

string

Default Value

""

Remarks

The refresh token is used to obtain a new access token when the current one expires. It enables seamless authentication for long-running or automated workflows without requiring the user to log in again. This property is especially important in headless, CI/CD, or server-based environments where interactive authentication is not possible.

The refresh token is typically obtained during the initial OAuth exchange by calling the GetOAuthAccessToken stored procedure. After that, it can be set using this property to enable automatic token refresh, or passed to the RefreshOAuthAccessTokenproc; stored procedure if you prefer to manage the refresh manually.

When InitiateOAuth is set to REFRESH, the driver uses this token to retrieve a new access token automatically. After the first refresh, the driver saves updated tokens in the location defined by OAuthSettingsLocation, and uses those values for subsequent connections.

Note: The OAuthRefreshToken should be handled securely and stored in a trusted location. Like access tokens, refresh tokens can expire or be revoked depending on the identity provider’s policies.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for Pipedrive

OAuthExpiresIn

Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.

To determine how long the user has before the Access Token will expire, check OAuthTokenTimestamp.

CData Python Connector for Pipedrive

OAuthTokenTimestamp

Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

Data Type

string

Default Value

""

Remarks

The OAuth access token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.

CData Python Connector for Pipedrive

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.
CData Python Connector for Pipedrive

SSLServerCert

Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE-----
MIIChTCCAe4CAQAwDQYJKoZIhv......Qw==
-----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSq......AQAB
-----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space- or colon-separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space- or colon-separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.

CData Python Connector for Pipedrive

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.
CData Python Connector for Pipedrive

FirewallType

Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.

Possible Values

NONE, TUNNEL, SOCKS4, SOCKS5

Data Type

string

Default Value

"NONE"

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

Note: By default, the connector connects to the system proxy. To disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

The following table provides port number information for each of the supported protocols.

Protocol Default Port Description
TUNNEL 80 The port where the connector opens a connection to Pipedrive. Traffic flows back and forth via the proxy at this location.
SOCKS4 1080 The port where the connector opens a connection to Pipedrive. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted.
SOCKS5 1080 The port where the connector sends data to Pipedrive. If the SOCKS 5 proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.

CData Python Connector for Pipedrive

FirewallServer

Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Pipedrive

FirewallPort

Specifies the TCP port to be used for a proxy-based firewall.

Data Type

int

Default Value

0

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Pipedrive

FirewallUser

Identifies the user ID of the account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Pipedrive

FirewallPassword

Specifies the password of the user account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for Pipedrive

Proxy

This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
CData Python Connector for Pipedrive

ProxyAutoDetect

Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.

Data Type

bool

Default Value

true

Remarks

When this connection property is set to True, the connector checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).

This connection property takes precedence over other proxy settings. If you want to configure the connector to connect to a specific proxy server, set ProxyAutoDetect to False.

On Windows, the connector reads the proxy settings from the Internet Options in the registry, specifically the registry key HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\. On Windows 10 and later, this corresponds to the Proxy Settings found in the Windows Settings.

Note that these settings apply only to the current user of the machine. If you're running an application as a service, the connector does not read your own user's settings. You must instead manually supply the proxy settings in the connector's connection properties.

On Mac, the connector reads proxy settings from the system-configured CFNetwork settings.

On Linux, this property is unsupported, and is set to False by default.

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.

CData Python Connector for Pipedrive

ProxyServer

Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.

Data Type

string

Default Value

""

Remarks

The connector only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server specified in your system proxy settings.

CData Python Connector for Pipedrive

ProxyPort

Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.

Data Type

int

Default Value

80

Remarks

The connector only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server port specified in your system proxy settings.

For other proxy types, see FirewallType.

CData Python Connector for Pipedrive

ProxyAuthScheme

Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.

Possible Values

BASIC, DIGEST, NONE, NEGOTIATE, NTLM

Data Type

string

Default Value

"BASIC"

Remarks

Note: The connector only uses this ProxyAuthScheme when ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the authentication method specified in your system proxy settings.

Supported authentication types :

  • BASIC: The connector performs HTTP basic authentication.
  • DIGEST: The connector performs HTTP digest authentication.
  • NTLM: The connector retrieves an NTLM token.
  • NEGOTIATE: The connector retrieves an NTLM or Kerberos token based on the applicable protocol for authentication.
  • NONE: Signifies that the ProxyServer does not require authentication.

For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.

CData Python Connector for Pipedrive

ProxyUser

Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyUser
BASIC The username of a user registered with the proxy server.
DIGEST The username of a user registered with the proxy server.
NEGOTIATE The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NTLM The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NONE Do not set the ProxyPassword connection property.

Note: The connector only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the username specified in your system proxy settings.

CData Python Connector for Pipedrive

ProxyPassword

Specifies the password of the user specified in the ProxyUser connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyPassword
BASIC The password associated with the proxy server user specified in ProxyUser.
DIGEST The password associated with the proxy server user specified in ProxyUser.
NEGOTIATE The password associated with the Windows user account specified in ProxyUser.
NTLM The password associated with the Windows user account specified in ProxyUser.
NONE Do not set the ProxyPassword connection property.

For SOCKS 5 authentication or tunneling, see FirewallType.

Note: The connector only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the password specified in your system proxy settings.

CData Python Connector for Pipedrive

ProxySSLType

Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.

Possible Values

AUTO, ALWAYS, NEVER, TUNNEL

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :

AUTODefault setting. If ProxyServer is set to an HTTPS URL, the connector uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.

CData Python Connector for Pipedrive

ProxyExceptions

Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to explicitly configure proxy exceptions for this connection, set ProxyAutoDetect to False.

CData Python Connector for Pipedrive

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.
CData Python Connector for Pipedrive

Logfile

Specifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.

Data Type

string

Default Value

""

Remarks

This property specifies the location and name of the log file where the connector records its operations, including authentication events, query execution, and connection details. If the specified file does not exist, the connector creates it. Ensure that the user or the service running the connector has write access to the specified path or file. Without sufficient permissions, the log file is not created.

Sensitive information from the connection string, such as passwords and tokens, is automatically masked in the logs. However, sensitive information present in the data itself may not be masked.

If you specify a relative path for Logfile, and if the Location property is set, that directory is used as the base path for the log file.

Additional properties allow you to customize logging behavior:

CData Python Connector for Pipedrive

Verbosity

Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Data Type

string

Default Value

"1"

Remarks

This property defines the level of detail the connector includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.

The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.

When combined with the LogModules property, Verbosity can refine logging to specific categories of information.

CData Python Connector for Pipedrive

LogModules

Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.

Data Type

string

Default Value

""

Remarks

The connector writes details about each operation it performs into the logfile specified by the Logfile connection property.

Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual connector operations as belonging to that module.

When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;

By default, logged operations from all modules are included.

You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP

To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the connector to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for Pipedrive

MaxLogFileSize

Specifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.

Data Type

string

Default Value

"100MB"

Remarks

For values lower than 100 KB, the connector uses 100 KB as the minimum allowable size.

To control the total number of log files retained, use the MaxLogFileCount property in conjunction with this property. Together, these properties allow you to manage the size and retention of log files effectively.

CData Python Connector for Pipedrive

MaxLogFileCount

Specifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Data Type

int

Default Value

-1

Remarks

Each log file name includes the date and time for easier identification.

This property accepts the following values:

  • A value of 2 or higher sets the maximum number of log files retained.
  • A value of 1 retains only one log file. When it reaches the maximum size, the file is deleted and replaced by a new one, leaving no history beyond the current log.
  • A value of 0 or negative indicates no limit on the number of log files, and logging continues indefinitely.

To manage log file size, use the MaxLogFileSize property. The two properties work together to control the size and retention of log files in the logging folder.

CData Python Connector for Pipedrive

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
CData Python Connector for Pipedrive

Location

Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.

Data Type

string

Default Value

"%APPDATA%\\CData\\Pipedrive Data Provider\\Schema"

Remarks

The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is %APPDATA%\\CData\\Pipedrive Data Provider\\Schema, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

CData Python Connector for Pipedrive

BrowsableSchemas

Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .

Data Type

string

Default Value

""

Remarks

Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.

CData Python Connector for Pipedrive

Tables

Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .

Data Type

string

Default Value

""

Remarks

Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.

If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.

CData Python Connector for Pipedrive

Views

Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Data Type

string

Default Value

""

Remarks

Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.

If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.

CData Python Connector for Pipedrive

Caching

This section provides a complete list of the Caching properties you can configure in the connection string for this provider.


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live Pipedrive data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.
CData Python Connector for Pipedrive

AutoCache

Specifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, the connector automatically caches the contents of tables targeted by SELECT queries. The content of these tables is cached to the cache database specified by the CacheConnection and CacheProvider connection properties.

See Also

For additional information, see:

  • CacheMetadata: With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from Pipedrive.
  • Explicitly Caching Data: This topic provides examples for using AutoCache in Offline mode.
  • CACHE Statements: You can use the CACHE statement to explicitly cache the content of any table targeted by a SELECT query.

CData Python Connector for Pipedrive

CacheProvider

The namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to ADO.NET providers saved in your ADO.NET global assembly cache (GAC).

CData ADO.NET providers automatically register themselves with the GAC during installation, so you don't need to do so manually.

Third-party ADO.NET providers may or may not automatically register themselves with the GAC during installation. If you want to cache to a third-party ADO.NET provider, consult the documentation for that provider to determine what steps (if any) you must take to register them with the GAC. Once they have been registered, you can supply their namespace in this connection property.

You must also set the CacheConnection connection property to provide a connection string for the specified ADO.NET provider.

The following sections show connection examples and address other requirements for several popular database providers. Refer to CacheConnection for more information on typical connection properties.

SQLite

You can use the Microsoft ADO.NET Provider for SQLite to cache to SQLite databases.

CacheProvider=Microsoft.Data.Sqlite;CacheConnection='DataSource=C:\\Users\\Public\\cache.db;'AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

MySQL

To cache to MySQL, you can use the CData ADO.NET Provider for MySQL:
Cache Provider=System.Data.CData.MySQL;Cache Connection='Server=localhost;Port=3306;Database=cache;User=root;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

SQL Server

You can use the Microsoft .NET Framework Provider for SQL Server, included in the .NET Framework, to cache to SQL Server:

Cache Provider=System.Data.SqlClient;Cache Connection="Server=MyMACHINE\MyInstance;Database=SQLCACHE;User Id=root;Password=admin";AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

Oracle

To cache to Oracle, you can use the Oracle Data Provider for .NET, as shown in the following example:

Cache Provider=Oracle.DataAccess.Client;Cache Connection='User Id=scott;Password=tiger;Data Source=ORCL';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

The Oracle Data Provider for .NET also requires the Oracle Database Client. When you download the Oracle Database Client, ensure that its bitness matches the bitness of your machine. When you install, select either the Runtime or Administrator installation type. The Instant Client is not sufficient.

PostgreSQL

To cache to PostgreSQL, you can use the CData ADO.NET Provider for PostgreSQL:
Cache Provider=System.Data.CData.PostgreSQL;Cache Connection='Server=localhost;Port=5432;Database=cache;User=postgres;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

CData Python Connector for Pipedrive

CacheDriver

The driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

Note: You must add the JAR file of the specified JDBC driver to the classpath. For CData JDBC drivers, you can find this JAR file in the "lib" subfolder of that driver's installation directory.

You must also set the CacheConnection connection property to provide a connection string for the specified JDBC driver.

For Linux systems and macOS, you need to create a config.ini file on the installation path of the driver (site-packages/cdata). The config.ini file has the following format (the driver and the path of the JDBC driver):

[salesforce.cpython-38-x86_64-linux-gnu.so]
CLASSPATH = /home/usrname/Downloads/lib/cdata.jdbc.postgresql.jar

Examples

The following examples show how to cache to several major databases. For more information on the JDBC URL syntax and typical connection properties, see CacheConnection.

Derby and Java DB

Java DB is the Oracle distribution of Derby. You must add the Derby JDBC driver's JAR file, derbytools.jar, to your classpath to cache to Java DB.

The Derby JDBC driver's JAR file is bundled in db-derby-10.17.1.0-bin.zip, which you can download from this page. You can find derbytools.jar in the "lib" subfolder of this zip file.

After adding derbytools.jar to the classpath, you can cache to a Java DB database as follows:

jdbc:pipedrive:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:sample';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;
To cache to an in-memory database, use a JDBC URL like the following:
jdbc:pipedrive:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:pipedrive:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

MySQL

The following is a JDBC URL for the CData JDBC Driver for MySQL:

  jdbc:pipedrive:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;
  

SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:pipedrive:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:pipedrive:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .

PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:pipedrive:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';AuthScheme=Basic;CompanyDomain=MyCompanyDomain;APIToken=MyAPIToken;

CData Python Connector for Pipedrive

CacheConnection

Specifies the connection string for the specified cache database.

Data Type

string

Default Value

""

Remarks

The target cache database is determined by a combination of this connection property and the CacheProvider connection property. Both properties are required to use the specified cache database.

The connection string specified in this connection property is passed directly to the specified in the CacheProvider connection property. Consult the documentation for the specified for more information on its available connection properties.

Examples of common cache database settings can be found below.

SQLite

MySQL

The following are typical connection properties:

  • Server: The IP address or domain name of the server hosting the MySQL database that you want to cache to.
  • Port: The port on the specified server where your MySQL instance is running.
  • Database: The name of the MySQL database that you want to cache to. Must match the name of a MySQL database hosted on the specified server.
  • User: The username of a user registered with the selected MySQL database.
  • Password: The password associated with the specified MySQL user.

SQL Server

The following are typical SQL Server connection properties:

  • Server: The name or network address of the computer running SQL Server. To connect to a named instance instead of the default instance, specify the host name and the instance name, separated by a backslash.
  • Port: The port on the specified server where your SQL Server instance is running.
  • Database: The name of the SQL Server database you want to cache to. Must match the name of a SQL Server database hosted on the specified server.
  • Integrated Security: To use the current Windows account for authentication, set this option to True. To authenticate with User and Password instead, set this option to False.
  • User Id: The username of a user registered with the selected SQL Server database. This property is only needed if you are not using integrated security.
  • Password: The password associated with the specified SQL Server user. This property is only needed if you are not using integrated security.

Oracle

The following are typical connection properties:

  • Data Source: The connect descriptor that identifies the Oracle database. This can be a TNS connect descriptor, an Oracle Net Services name that resolves to a connect descriptor, or, after version 11g, an Easy Connect naming (the host name of the Oracle server with an optional port and service name).

  • User Id: The username of a user registered with the selected Oracle database.
  • Password: The password associated with the specified Oracle user.

PostgreSQL

The following are typical connection properties:

  • Host: The address of the server hosting the PostgreSQL database.
  • Port: The port on the specified host server where your PostgreSQL database is hosted.
  • Database: The name of the PostgreSQL database you want to cache to. Must match the name of a PostgreSQL database hosted on the specified server.
  • User name: The username of a user registered with the selected PostgreSQL database.
  • Password: The password associated with the specified user.

CData Python Connector for Pipedrive

CacheLocation

Specifies the path to the cache when caching to a file.

Data Type

string

Default Value

"%APPDATA%\\CData\\Pipedrive Data Provider"

Remarks

The CacheLocation is a simple, file-based cache.

If left unspecified, the default location is %APPDATA%\\CData\\Pipedrive Data Provider, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

See Also

  • AutoCache: Set to implicitly create and maintain a cache for later offline use.
  • CacheMetadata: Set to persist the Pipedrive catalog in CacheLocation.

CData Python Connector for Pipedrive

CacheTolerance

Notes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.

Data Type

int

Default Value

600

Remarks

When you execute a query for tables in the cache, the connector checks the time elapsed since the last update to the cache.

If the last update to the cache is older than the value of this connection property (measured in seconds), the connector refreshes the cache.

Otherwise, the connector returns data directly from the cache.

CData Python Connector for Pipedrive

Offline

Gets the data from the specified cache database instead of live Pipedrive data.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, all queries execute against the cache database instead of the live Pipedrive data.

In this mode, some SQL operations like INSERT, UPDATE, DELETE, and CACHE are disabled.

CData Python Connector for Pipedrive

CacheMetadata

Determines whether the provider caches table metadata to a file-based cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, as you execute queries, table metadata in the Pipedrive catalog is cached to the cache database specified by CacheConnection and CacheProvider, or, if those connection properties are not set, to the user's home directory.

The location of your home directory varies by platform:

PlatformHome Directory
Windows %APPDATA%\\CData\\Pipedrive Data Provider
Mac ~/Library/Application Support/CData/Pipedrive Data Provider
Unix ~/.config/CData/Pipedrive Data Provider

A table's metadata is retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

When there are a large number of Pipedrive tables and columns for the connector to retrieve during metadata discovery, the connector may take a while to list all table metadata.

You may experience slow metadata retrieval when:

  • Your Pipedrive instance naturally has a large table count.
  • The connector has been configured, via its connection properties, to discover more tables than it would under its default configuration.
  • You make many short-lived connections to the connector.
With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from Pipedrive.

When Not to Use CacheMetadata

The connector automatically persists metadata in memory for up to an hour when you first discover the metadata for a table or view, so CacheMetadata is generally not necessary.

CacheMetadata is not ideal in scenarios where you are working with volatile metadata. The first time you query a table, the connector caches its metadata to the cache database file. This cache is not dynamically updated to reflect updates to the table schema, so you must delete and rebuild the cache database file to pick up new, changed, or deleted columns.

CData Python Connector for Pipedrive

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
IncludeCustomFieldsSet to true to retrieve custom fields values for deals, dealsarchived, organizations, persons and products.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to Pipedrive from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for Pipedrive

IncludeCustomFields

Set to true to retrieve custom fields values for deals, dealsarchived, organizations, persons and products.

Data Type

bool

Default Value

true

Remarks

Set to true to retrieve custom fields values for deals, dealsarchived, organizations, persons and products.

CData Python Connector for Pipedrive

MaxRows

Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)

Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

CData Python Connector for Pipedrive

Other

Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.

Data Type

string

Default Value

""

Remarks

This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.

Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.

Caching Configuration

PropertyDescription
CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the connector.

Integration and Formatting

PropertyDescription
DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMT=TrueConverts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time).
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

CData Python Connector for Pipedrive

PseudoColumns

Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.

Data Type

string

Default Value

""

Remarks

This property allows you to define which pseudocolumns the connector exposes as table columns.

To specify individual pseudocolumns, use the following format:

Table1=Column1;Table1=Column2;Table2=Column3

To include all pseudocolumns for all tables use:

*=*

CData Python Connector for Pipedrive

Readonly

Toggles read-only access to Pipedrive from the provider.

Data Type

bool

Default Value

false

Remarks

When set to True, the connector allows only SELECT queries. Attempting an INSERT, UPDATE, DELETE, or stored procedure query fails with an error message.

CData Python Connector for Pipedrive

RTK

Specifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.

Data Type

string

Default Value

""

Remarks

This property is typically unnecessary, as most configurations support a standard licensing mechanism.

Warning: The value of this property takes precedence over all existing licensing information. To avoid licensing errors, ensure the provided runtime key is correct.

CData Python Connector for Pipedrive

Timeout

Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.

Data Type

int

Default Value

60

Remarks

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.

Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.

Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.

Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

CData Python Connector for Pipedrive

UserDefinedViews

Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.

Data Type

string

Default Value

""

Remarks

UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the connector and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Deals WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

You can use this property to define multiple views in a single file and specify the filepath. For example:

UserDefinedViews=C:\Path\To\UserDefinedViews.json
When you specify a view in UserDefinedViews, the connector only sees that view.

For further information, see User Defined Views.

CData Python Connector for Pipedrive

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

AdoptOpenJDK / Adoptium Temurin JRE 17.0.18_8

Copyright (c) Eclipse Foundation AISBL. All Rights Reserved.

Apache License, Version 2.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Eclipse Distribution License - v 1.0

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Eclipse Public License - v 2.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS "Contribution" means:

  • a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and
  • b) in the case of each subsequent Contributor:
    • i) changes to the Program, and
    • ii) additions to the Program;
    where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works.
"Contributor" means any person or entity that Distributes the Program. "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions Distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.

"Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.

"Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.

"Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.

"Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.

2. GRANT OF RIGHTS

  • a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.
  • b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
  • c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
  • d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
  • e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).

3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then:

  • a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and
  • b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license:
    • i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
    • ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
    • iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and
    • iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.
3.2 When the Program is Distributed as Source Code:
  • a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and
  • b) a copy of this Agreement must be included with each copy of the Program.
3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices') contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.

4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.

Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.

Exhibit A – Form of Secondary Licenses Notice "This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}."

Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

GNU Classpath

Classpath is distributed under the terms of the GNU General Public License with the following clarification and special exception.

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.

OpenJDK Assembly Exception

The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 only ("GPL2"), with the following clarification and special exception.

Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination.

As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle.

As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9655