Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
604d7ec
[Chore] Bump `@deskpro/app-sdk` to version 6.0.3
AFOJ Feb 14, 2025
fd75f4e
[Chore] Bump `esbuild` to version 0.25.0 (SC-180980)
AFOJ Feb 14, 2025
216b877
[Chore] Remove `esbuild` override
AFOJ Feb 19, 2025
5985fe7
[Fix] Fix broken `getCurrentUser` url
AFOJ Feb 27, 2025
ff8ff86
[Feat] Introduce absolute imports
AFOJ Feb 27, 2025
7f3e0b7
[Feat] Add OAuth2/Global proxy settings
AFOJ Feb 27, 2025
6f15d1a
[Feat] Create `getAccessToken` function
AFOJ Feb 27, 2025
6775985
[Feat] Create OAuth2 login page
AFOJ Feb 27, 2025
7a9187f
[Refactor] Update `pipedriveGet` to include OAuth2 auth header
AFOJ Feb 27, 2025
b540fc8
[Feat] Create "Loading" page
AFOJ Feb 27, 2025
2bd602d
[Refactor] Update `App` routing
AFOJ Feb 27, 2025
7fa9ec3
[Chore] Update `/` links to `/home'
AFOJ Feb 27, 2025
819df2c
[Chore] Kill the `Redirect` component
AFOJ Feb 27, 2025
fbf2053
[Feat] Add logout functionality
AFOJ Feb 27, 2025
842f07a
[Chore] Introduce constants
AFOJ Feb 27, 2025
ddc0303
[Bug] Fix edit button UI bug
AFOJ Feb 27, 2025
b6cfa64
[Chore] Update setup guide details
AFOJ Feb 27, 2025
4d514f4
[Chore] Update vite server port
AFOJ Feb 28, 2025
dbce53f
[Bug] Fix runaway polling bug in useLogin (SC-183520)
AFOJ Mar 17, 2025
6f27a66
[Bug] Remove api_token query param for OAuth2 requests
AFOJ Mar 17, 2025
cb1756a
[Refactor] Improve logout functionality
AFOJ Mar 17, 2025
87066e7
[Chore] Bump `vite` to version 6.2.2 (SC-180980)
AFOJ Mar 17, 2025
dd4fd9d
[Chore] Update GPS branding to "Advanced Connect"
AFOJ Mar 19, 2025
c3d739d
[Bug] Fix `isUsingOAuth` logic
AFOJ Mar 19, 2025
ef183db
Merge branch 'master' into feat/update-app-to-use-global-proxy-service
AFOJ Apr 9, 2025
36c27db
Merge branch 'master' into feat/update-app-to-use-global-proxy-service
AFOJ Apr 9, 2025
3d9094d
[Chore] Resolve `pnpm-lock` file conflicts
AFOJ Apr 9, 2025
4edf589
[Fix] Update theme typings for styled components
AFOJ Apr 9, 2025
03bfd7e
[Chore] Update setup guide to include OAuth disclaimer
AFOJ Apr 10, 2025
1eb8c20
[Bug] Ensure backward compatibility for api keys
AFOJ Apr 11, 2025
22d0baa
Merge branch 'master' into feat/update-app-to-use-global-proxy-service
AFOJ Apr 17, 2025
a3b794f
[Chore] Fix lock file
AFOJ Apr 17, 2025
3058d45
[Chore] Update `pathQuery` variable naming
AFOJ Apr 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion SETUP.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Pipedrive App Setup
Pipedrive App Setup Instructions
===

Follow these steps to install and configure the Pipedrive app using either an API key or OAuth credentials.

## Using An API Key

To install the Pipedrive app you must copy your personal API token. Access this in Pipedrive under the personal preferences section of your settings in the top right, and click the API tab on the following page.

Expand All @@ -18,3 +23,28 @@ On this screen, enter the following details:
To configure who can see and use the Pipedrive app, head to the "Permissions" tab and select those users and/or groups you'd like to have access.

When you're happy, click "Install".


## Using OAuth

Head over to your Pipedrive homepage and click on your profile image in the top right, then select "Developer Hub".

[![](/docs/assets/setup/setup-pipedrive-004.png)](/docs/assets/setup/setup-pipedrive-004.png)

In the Developer Hub, click "Create an app". A popup will appear asking you to select the type of app you want to create. Choose "Public" if you plan to allow users outside of your Pipedrive instance or company to use the app (this will require approval from Pipedrive). Select "Private" if the app will only be used within your own Pipedrive instance (no approval is needed).

[![](/docs/assets/setup/setup-pipedrive-005.png)](/docs/assets/setup/setup-pipedrive-005.png)

Next, you’ll be shown a form to enter details about your app. Provide a name for your app and enter the Callback URL (this can be found in the app settings drawer in Deskpro). Click "Save" to proceed.

[![](/docs/assets/setup/setup-pipedrive-006.png)](/docs/assets/setup/setup-pipedrive-006.png)

Next, navigate to the "OAuth & access scopes" section in the side menu. Here, you will need to configure the necessary permissions for your app. Select the following scopes and click "Save": `Deals:Full access`, `Activities:Full access`, `Contacts:Full access`, `Read users data`, and `Search for all data`. These permissions ensure that your app can access the required data from Pipedrive while maintaining security and control over what it can modify.

[![](/docs/assets/setup/setup-pipedrive-007.png)](/docs/assets/setup/setup-pipedrive-007.png)

At the bottom of the page, you will find your app's `Client ID` and `Client Secret`. Copy these credentials and paste them into the corresponding fields in the Deskpro app settings drawer.

To activate your app, click "Change to live", which will allow users to start using it.

Finally, configure who can access the app by going to the "Permissions" tab. Select the users and/or groups that should have access. Once you’re satisfied with the settings, click "Install" to complete the setup.
Binary file added docs/assets/setup/setup-pipedrive-004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/setup/setup-pipedrive-005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/setup/setup-pipedrive-006.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/setup/setup-pipedrive-007.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
90 changes: 79 additions & 11 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@
"isSingleInstall": false,
"hasDevMode": true,
"serveUrl": "https://apps-cdn.deskpro-service.com/__name__/__version__",
"targets": [{ "target": "user_sidebar", "entrypoint": "index.html" }],
"secrets": "9ToG2tPo8Y8J64kyYTziqVAkz9fcPybLBmC/+6s6MeUDzUvN4FtlfQpCJfLHzsRlLXPs83ZULh9BQ6XWffnGqGjO3fgeit2RBPH0v25RVaMabjCDW0CmdCOk3mUPHfwQvCHvGz5JstCXGsDSp3rwbCEWZoF5+Yply659FB5YdvGwc9fwtIabP2tlafzUbx0DSs0Q2NfX6FjstfDP6Q1xHZWUA0iteuLWULxZUOw0yYz0RSQOamGVH6FHvTdS5V54tAOyvn9vjSZD/t3Z9JBM8FlHLrS9cu/ISzn1n/0Azhlt0sIz2cwG/ESEK5a7O1/GsenaH0mNBbg1g3fTIys8+Rqc2KcSiwul6OUpliiyknqtOlyglH6/nlvjbeyO5lhbCvf+WJa0o+QdbUab5Dm7nwRHQN4zZ0q+iE/WBUiQbBiMVArzyrCE60f1O1EiZtwmufXzBTL/S4XBkZKkXjmCY2SsrkzRDYVm9tO5tIGiFxyFy+GDaEioeIddY8QN7yvP/mjXdT7wmPSFUwaRoCcDjZq9tFSG31H+tXiJcvK5PjNZSLNchxRJsm/XkyMZxXdlWJ9gN4KfRg2QJZK3xSBnn0YoEGqLR2nGNQjVw5jZoobepkAEPfRUtx5sUFOHML/71EAl9attE2lyyqHekuXJoGt98M208pVJOL5IvGNdkTQQAnll0oGF0OklOdWObJg16CQuoFp7qis9nJB81s7EXAnfpHwTxDawiioKk11UOklwu2c6Fm+RrH2WzUXtqazP3yQCLF8Z8fAkglS2ttWrRg9UU0QBzLm4mKf1PRb85fCI9a5BIOSl15zmvWzHl1DW10/jVfHX7HJs56VG6W8rora4ycjFKcBARDU8JpMlXIVJzaPl5cqi0Vi41ePsGPbauQzZ+8lLZrIMyOvXpmXoHEHgfIgEfhrxGXysQLF0H/X1ZyVR2e9nT0/WHigG5YC7XlUe9XXVcQpG/b1OO4T+26PMZqkhfqDfMVOASQP6PgRfcBR3gh4gICVgi/LGV055GhwC4jpWOZWzG1j5mp2we13DV9JgDxlVgajFPzj/7wJ4sZSEHh0qHITYBuDoU08D",
"targets": [
{
"target": "user_sidebar",
"entrypoint": "index.html"
}
],
"entityAssociations": {
"linkedPipedriveContacts": {
"entity": "person",
Expand All @@ -17,12 +23,22 @@
}
},
"settings": {
"api_key": {
"title": "Pipedrive API Key",
"description": "The API key to use to access Pipedrive",
"type": "string",
"isRequired": true,
"isBackendOnly": true,
"use_advanced_connect": {
"title": "Advanced Connect",
"description": "Follow the setup guide and use your credentials to connect the app to Deskpro.",
"type": "boolean",
"default": false,
"isRequired": false,
"isBackendOnly": false,
"order": 5
},
"use_access_token": {
"title": "Use API Key",
"type": "boolean",
"isRequired": false,
"isBackendOnly": false,
"default": false,
"condition": "settings.use_advanced_connect != false",
"order": 10
},
"instance_domain": {
Expand All @@ -33,20 +49,72 @@
"isBackendOnly": false,
"order": 20
},
"api_key": {
"title": "API Key",
"description": "The API key to use to access Pipedrive",
"type": "string",
"isRequired": false,
"isBackendOnly": true,
"condition": "settings.use_advanced_connect != false && settings.use_access_token != false",
"order": 30
},
"verify_settings": {
"title": "",
"type": "app_embedded",
"options": { "entrypoint": "#/admin/verify_settings", "height": "30px" },
"options": {
"entrypoint": "#/admin/verify_settings",
"height": "30px"
},
"isRequired": false,
"isBackendOnly": true,
"order": 30
"condition": "settings.use_advanced_connect != false && settings.use_access_token != false",
"order": 40
},
"client_id": {
"title": "Client ID",
"type": "string",
"isRequired": false,
"isBackendOnly": false,
"condition": "settings.use_advanced_connect != false && settings.use_access_token == false",
"order": 50
},
"client_secret": {
"title": "Client Secret",
"type": "string",
"isRequired": false,
"isBackendOnly": true,
"condition": "settings.use_advanced_connect != false && settings.use_access_token == false",
"order": 60
},
"callback_url": {
"title": "Callback URL",
"type": "app_embedded",
"options": {
"entrypoint": "#/admin/callback"
},
"isRequired": false,
"isBackendOnly": true,
"condition": "settings.use_advanced_connect != false && settings.use_access_token == false",
"order": 70
}
},
"proxy": {
"whitelist": [
{
"url": "https://.*.pipedrive.com/v1/.*",
"methods": ["GET", "POST", "PUT", "DELETE"],
"methods": [
"GET",
"POST",
"PUT",
"DELETE"
],
"timeout": 10
},
{
"url": "https://oauth.pipedrive.com/oauth/.*",
"methods": [
"POST"
],
"timeout": 10
},
{
Expand All @@ -56,4 +124,4 @@
}
]
}
}
}
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"bumpManifestVer": "node ./bin/bumpManifestVer.js"
},
"dependencies": {
"@deskpro/app-sdk": "^5.1.1",
"@deskpro/deskpro-ui": "^8.3.1",
"@deskpro/app-sdk": "^6.0.3",
"@deskpro/deskpro-ui": "^8.2.0",
"@fortawesome/free-solid-svg-icons": "^6.7.2",
"@fortawesome/react-fontawesome": "^0.2.2",
"@heroicons/react": "1.0.6",
Expand Down
Loading
Loading