Pipedrive API Documentation

Pipedrive's API Docs

Welcome to Pipedrive's Developer Documentation. Here you'll find comprehensive guides and documentation to help you start working with Pipedrive's API, as well as the Changelog to see any relevant changes regarding the public API.

Adding a remote file

Remote files are files that are stored on a remote location and not, for example, on your local drive. Currently, we only support files that originate from Google Drive.

For adding remote files in Pipedrive we have two endpoints POST /files/remote and POST /files/remoteLink. The following tutorial will cover code samples and explanations for working with those endpoints.

POST /files/remote allows you to create a new file in Google Drive and specify which item (Deal, Person or Organization) that created file will be linked and associated to in Pipedrive. With POST /files/remoteLink you can link a file which already exists in Google Drive to an item (Deal, Person or Organization).

The user needs to have an activated Google Account in Pipedrive for the files to be added successfully.

Creating a remote file and link it to an item

Authentication

First, you need to think about how you authenticate your request to our API. You can use for that either API token (see the code snippet below) or OAuth. For more information about authenticating your requests see authentication .

// Pipedrive API token
$api_token = '659c9fddb16335e48cc67114694b52074e812e03';
// Pipedrive company domain
$company_domain = 'efficient-company';
// URL for creating an empty remote file and associate it with an item
$url = 'https://' . $company_domain . '.pipedrive.com/api/v1/files/remote?api_token=' . $api_token;

You also need to give values to the following parameters and make the POST request. You can see the full code example below.

Parameter
Examples and explanations

file_type
(required)

Choose one of the following:

  • gdoc (Google Document)
  • gslides (Google Slides)
  • gsheet (Google Sheet)
  • gform (Google From)
  • gdraw (Google Drawing)

title
(required)

Title of the created file

item_type
(required)

Choose one of the following items:

  • deal
  • person
  • organization

item_id
(required)

The ID of the specific item you wish to have the created file linked with.
The file will appear in the details view of this specific item.

remote_location
(required)

googledrive

Full example

Don't forget to authenticate your request. You can use the following URL for a request with api_token.

// URL for creating an empty remote file and linking it with an item
$url = 'https://' . $company_domain . '.pipedrive.com/api/v1/files/remote?api_token=' . $api_token;
<?php
//add authentication with api_token here
$data = array(
    'file_type' => gdoc,
    'title' => 'New proposal for John Doe',
	'item_type' => deal,
	'item_id' => 12,
	'remote_location'=> googledrive
);
  
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 
echo 'Sending request...' . PHP_EOL;
 
$output = curl_exec($ch);
curl_close($ch);
 
// Create an array from the data that is sent back from the API
// As the original content from server is in JSON format, you need to convert it to PHP array
$result = json_decode($output, true);
 
// Check if the data returned in the result is not empty
if (empty($result['data'])) {
    exit('Adding failed' . PHP_EOL);
}
 
// Check if file ID came back, if it did, print out success message
if (!empty($result['data']['id'])) {
    echo 'File created and linked successfully! ' . PHP_EOL;
}

Linking an existing remote file to an item

To link an existing remote file to an item you need first authenticate your request and then add values to the following parameters. The user needs to have an activated Google Account in Pipedrive for the file to be added successfully. You can see the full code example below.

Parameters
Examples and explanations

item_type
(required)

Choose one of the following items:

  • deal
  • person
  • organization

item_id
(required)

The ID of the specific item you wish to have the created file linked with.
The file will appear in the details view of this specific item.

remote_id
(required)

remote_id of the file is dependent on the location of the file. If the file is already uploaded to your Pipedrive account, you can get the ID by making a request to GET /files endpoint. If you want to link a file that you don't have in your Pipedrive account, you can get the remote_id by adding the needed file to the designated Pipedrive folder in your Google Drive (the folder appears when you have Google Drive integration's folders enabled. Next, when you open the selected file you can see the file's remote_id as a part of the URL. e.g: https://docs.google.com/document/d/123magicfile123/edit where 123magicfile123 would be the file's remote_id.

remote_location
(required)

googledrive

Full code example

Don't forget to authenticate your request. You can use the following URL for a request with api_token.

// URL for linking an existing remote file
$url = 'https://' . $company_domain . '.pipedrive.com/api/v1/files/remoteLink?api_token=' . $api_token;
<?php
//Add authentication with api_token here
$data = array(
	'item_type' => deal,
	'item_id' => 12,
	'remote_id' => 'magic-file-123',
	'remote_location'=> googledrive
); 
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 
echo 'Sending request...' . PHP_EOL;
 
$output = curl_exec($ch);
curl_close($ch);
 
// Create an array from the data that is sent back from the API
// As the original content from server is in JSON format, you need to convert it to PHP array
$result = json_decode($output, true);
 
// Check if the data returned in the result is not empty
if (empty($result['data'])) {
    exit('Linking failed' . PHP_EOL);
}
 
// Check if file ID came back, if it did, print out success message
if (!empty($result['data']['id'])) {
    echo 'File linked successfully! ' . PHP_EOL;
}

Updated 4 months ago


Adding a remote file


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.