Registering a public app

Requested a developer sandbox account? Ready with your app? Find out how to register your app and send it off for the app approval process.


How to find Developer Hub


First, go to Settings by clicking on your profile name in the upper right corner of the top navigation bar. Find the company name of your sandbox account and choose Developer Hub from the drop-down menu.

2576

You must have a developer sandbox account for app creation to see Developer Hub. Sign up here if you don’t have one.



Register a new public app


🚧

NB: Do pick your app type carefully, as it cannot be changed later on Developer Hub.

To register a new app, click on the green “Create an app” button (or “+ Create an app” if you have existing apps) followed by “Create public app”. This is also where you’d see a list of your registered public and private apps if you have any.

Developer Hub - create a new app

App registration form


The app registration form for public apps is divided into two categories containing seven different tabs.

You can save your app anytime by clicking the green “Save” button. To exit the form and return to your Developer Hub dashboard, click the left-pointing arrow next to your app's name.

Read on to find out how and what to fill in each tab.

📘

Disclaimer: The Marketplace team reserves the right to make small changes to text fields and images uploaded to the app's listing to give the best possible user experience and make the page discoverable in search. You'll be notified when something is edited.

Basic info

Developer Hub > public app - basic info

This tab has two required fields – App name and OAuth Callback URL. Once you’ve filled this in, click the green “Save” button to save the form. You’ll then automatically be brought to the second tab – “OAuth & access scopes”, where you’ll get your client_id and client_secret.

FieldDescription
App name (required)Insert your app’s name by how it will be recognized in the Marketplace.

Example: Car Services App
Callback URL (required, one URL per app)Insert a link where an authorization code will be sent if the user approves or declines the installation of your app. This link is also where we return the user after successful authentication. Technically, a callback URL is the same thing as an OAuth redirect_uri.

It’s okay to insert a non-functioning URL when creating a new app if you can update this field with a proper URL after implementing the logic needed to accept user authorization in your code. Please keep in mind that we allow only one callback URL per app.

Example: https://www.carservicesapp.com/API/v2/callback

OAuth & access scopes

Developer Hub > public app - OAuth & access scopes
FieldDescription
Access scopes (required)Using scopes, you can specify precisely what data access your application needs. Your selection will depend significantly on the endpoints you use in your app. You can also select the respective scope in this section if you are building a manifest-based app extension.

Example:
:white-check-mark: Read users data
:white-check-mark: See recent account activity
Installation URLThis is where you can add an optional URL to which users will be redirected when clicking the “Proceed to Install” button in the marketplace listing page.

Use it when you need to start app authorization outside of the Marketplace, redirect users to a custom landing page, or implement the state parameter  for additional security.
Client IDThis is where you will get your app’s unique client_id and client_secret for OAuth authorization.

🚧

The user has the option to either accept or deny all scopes. Because of this, it’s a good idea to build apps that only request necessary scopes for your particular use case.

👍

Once you’ve completed filling up the Basic info and OAuth & access scopes, we advise you to start installing your app and testing it to see how it works. You can do so by clicking on the green “Install & test” button in the bottom left of the tab.

App extensions

Developer Hub - public apps > app extensions

App extensions let you extend Pipedrive’s user interface with your app’s functionality and content to let users do more in one place. Find out more about them here.

Within Developer Hub, the app extensions tab is where you can add new app extensions and manage the ones you’ve added before. A modal with an app extension creation form will open when you click the button to add the respective app extension.

Link actions

Learn more here.

FieldDescription
Action name (required)Insert your app action’s name that will be displayed in the Pipedrive UI. The name should be short, descriptive of the app action, and be in a sentence-case format.

Example: Send quote - Car Services
Action descriptionTo showcase the interactive features of your app, your action’s name and description will appear in the Features section of your Marketplace app listing.

Use the description field to let users know what they can do with this action.

Optional; max 150 characters.
URL link (required)Add the URL that will redirect the user to the correct app page when an action is clicked. The URL must handle both scenarios of the user being logged into your app and not being logged in.

Example: https://www.carservicesapp.com/handle_action
JWT secretIf left empty, client_secret will be used by default.
Locations (one required)Specify in which views the app action will be displayed. There can be a maximum of 3 app actions per app or custom modals in one view, altogether 21 (7 different views x 3 actions per view).

Example:
:white-check-mark: Activities list
:white-check-mark: Person details

JSON modals

Learn more here.

FieldDescription
Action name (required)The name of the JSON modal. The name should be short (max 30 characters), actionable, and sentence-cased (only capitalize the first word).

Example: + Prod. details - Car Services
Action descriptionTo showcase the interactive features of your app, your action’s name and description will appear in the Features section of your Marketplace app listing.

Use the description field to let users know what they can do with this action.

Optional; max 150 characters.
API endpoint (required)All API requests related to this action will be sent to this URL.

Example: https://www.carservicesapp.com/handle_action
JWT secretIf left empty, client_secret will be used by default.
JSON schema (required)The JSON schema for your JSON modal.
Locations (one required)There can be a maximum of 3 app actions or custom modals per location. Each app can have a total of 21 app actions. See more available locations in app actions’ visibility.

Example: Deal details

JSON panels

Learn more here.

FieldDescription
Panel name (required)Insert your JSON panel’s name that will be displayed in the Pipedrive UI. The JSON panel’s name should be descriptive and have a maximum of 30 characters.

Example: Car PM – Car Services
Panel descriptionTo showcase the interactive features of your app, your panel’s name and description will appear in the Features section of your Marketplace app listing.

Use the description field to let users know what they can do within this panel.

Optional; max 150 characters.
API Endpoint (required)The URL of the endpoint which we’ll use to fetch the data of the object properties

Example: www.api.pipedrive.com/deal-view/visits
HTTP Auth username (required) and HTTP Auth password (required)Our service will send the HTTP request with these credentials as the Basic Authentication header to protect your data. To protect your data, we strongly recommend using authenticated HTTPS requests. Note that we do not support self-signed certificates.
JWT secretJWT is required if HTTP Auth is not provided.
JSON data structure (required)A JSON file that describes the structure of your JSON panel as seen in the Pipedrive UI. See here for more information.
Panel locations (one required)Choose where the panel will be displayed:
– Deal details
– Person details
– Organization details

Each app can have one JSON or custom panel in each location.

Custom modals

Learn more here.

FieldDescription
Modal name (required)The name of your custom modal. Descriptive, max 30 characters and should be sentence-cased (only capitalize the first word).
Modal descriptionTo showcase the interactive features of your app, your modal’s name and description will appear in the Features section of your Marketplace app listing.

Use the description field to let users know what they can do within this modal.

Optional; max 150 characters.
Iframe URL (required)URL of the web content to be shown within the iframe
– Please ensure your iframe URL uses HTTPS
JWT secretOptional. Defaults to client secret
Entry pointsThe custom modal will be shown as a link in the actions menu of the chosen entry point(s).

Choose the location(s) your custom modal can be triggered from:
– Activities list
– Deal details
– Deals list
– Person details
– People list
– Organization details
– Organizations list

If no entry points are selected, the only way to open a modal is via the SDK. You can have a maximum of three app extensions per location.

Each app can have a total of 21 custom modals or app actions.

Custom panels

Learn more here.

FieldDescription
Panel name (required)The name of your custom panel. Descriptive, max 30 characters and should be sentence-cased (only capitalize the first word).
Panel descriptionTo showcase the interactive features of your app, your modal’s name and description will appear in the Features section of your Marketplace app listing.

Use the description field to let users know what they can do within this panel.

Optional; max 150 characters.
Iframe URL (required)URL of the web content to be shown within the iframe
– Please ensure your iframe URL uses HTTPS
JWT secretOptional. Defaults to client secret
Panel locations (one required)Choose where the custom panel will be displayed:
– Deals details view
– People details view
– Organizations details view

Each app can have one custom or JSON panel in each location.

Custom floating window

Learn more here.

FieldDescription
Floating window name (required)The name of your custom floating window.

Short and precise, max 30 characters.

The name will appear in the window header and Interactive Features section of your Marketplace app listing.
Floating window description (required)Clearly state what users can do within the window so they know how this feature benefits them (max 150 chars).

It will appear in the Interactive Features section of your Marketplace app listing.

Max 150 characters.
Iframe URL (required)URL of the web content to be shown within the iframe
– Please ensure your iframe URL uses HTTPS
JWT secretOptional. Defaults to client secret
Entry pointsA custom floating window has two entry points:
– Top bar (apps dock) – default
– Phone number and Calls tab – for communication apps

Limited to 1 floating window per app regardless of the entry point.

App settings page

Learn more here.

FieldDescription
TypeChoose how you want your app’s user to access their app settings
– External link
– Custom UI
URL (required) – for external linkAdd the URL that will redirect the user to your app settings page
Iframe URL (required) – for custom UIURL of the web content to be shown within the iframe
– Please ensure your iframe URL uses HTTPS
JWT Secret – for Custom UIOptional. Defaults to client secret.

👍

Do install and test your app after you add app extensions to see how it works for your users.

General info

Developer Hub > public app - general info

Basic info

FieldDescription
Built byThis will be the name of the company responsible for developing the app. It will appear publicly on the Pipedrive Marketplace.

To change the company name, click “edit” under the company name, and you’ll be taken to Company settings.

Example: Car Services Inc
App category (required)Choose a maximum of two categories from the drop-down menu that best represents your app’s use case.

Example: Task and workflow management
Short summary (required)Summarize the essence of what your app does. It will be shown in the list views and other places where the full description cannot be shown in the Marketplace. Max 350 characters.

Please include your app’s name and “Pipedrive” in the description if possible.

Example: Car Services app helps you better manage your orders and workflows in Pipedrive and automatically syncs it across both platforms.

App images

FieldDescription
App icon (required)Upload an icon that best represents your app (be aware of the file type and sizing requirements).

Icon criteria:
– PNG, JPG
– 1:1 aspect ratio
– min 256x256 px
– max 10 MB

We recommend uploading an icon-only version as your logo is sometimes presented in a minimal size of 20x20px alongside your app name.

Tip: To make your app listing more SEO-friendly, name your app icon file “ting how the app -pipedrive-integration”. For example, “carservices-pipedrive-integration” - all lowercase with dashes.
App listing images (1 required, max 5)Upload max five images that should be helpful to users by illustrating how the app works, highlighting key areas and demonstrating the general flow process.

Image criteria:
– PNG, JPG
– 16:10 aspect ratio
– max 10 MB
– 1280x800, 1440x900, 2560x1600 or 2880x1800 pixels – the bigger, the better!

Tip: To make your app listing more SEO-friendly, add numbers to the end of your image file's name. For example, “y areas and demon-pipedrive-integration-1”:
– “carservices-pipedrive-integration-1”
– “carservices-pipedrive-integration-2”, etc.

App description

FieldDescription
Full description (required)Clearly state what your app does and why the integration with Pipedrive is useful. It needs unique text tailored explicitly for the Pipedrive Marketplace to avoid being marked as double content by search engines. Max 1500 characters.

If you have done your keyword research, please use SEO keywords throughout this section. If not, here are some SEO keyword recommendations that you can use:
– “(Your app’s name) app”
– “(Your app’s name) CRM”
– “(Your app’s name) integration”
– “(Your app’s name) Marketplace”
– “(Your app’s name)-Pipedrive integration” (e.g. “Car Services-Pipedrive integration”)
– “Pipedrive (your app’s category) integration” (e.g. “Pipedrive task and workflow management integration”)

Please reach out to the Marketplace team if you need some SEO assistance.

Example: Discover the Car Services-Pipedrive integration that helps you manage your orders and workflows! The Car Services app has received many excellent user reviews, among them Quinn Smith’s feedback:
"It feels so empowering to be able to easily access my orders and sales reports and have them automatically synced between Pipedrive and Car Services!"
YouTube video link (one link)Add a link to a video that depicts the capabilities of your app with a specific demonstration of how it works together with Pipedrive. We recommend you use the video for marketing your app.

We currently support only Youtube video links.

👍

Once you’ve filled in your relevant app information, click on the green “Preview” button at the bottom to preview your app listing page and make sure the information is accurate. The draft app listing will open in a hovering window.

Setup and installation

Developer Hub > public app - setup and installation
FieldDescription
Instructions for users (max 1500 characters)What should users do after they click “Install now”? What should they expect to see, and where should they navigate to next?

List step-by-step instructions so existing users can quickly get started with your app and new users can understand the required level of effort.

If you have done your keyword research, please use SEO keywords throughout this section. If not, here are some SEO keyword recommendations that you can use:
– “(Your app’s name) app”
– “(Your app’s name) CRM”
– “(Your app’s name) integration”
– “(Your app’s name) Marketplace”
– “(Your app’s name)-Pipedrive integration” (e.g. “Car Services-Pipedrive integration”)
– “Pipedrive (your app’s category) integration” (e.g. “Pipedrive task and workflow management integration”)

In case a one-on-one set up is required, define in this section who should be contacted and how.

👍

Once you’ve filled in your relevant app information, click on the green “Preview” button at the bottom to preview your app listing page and make sure the information is accurate. The draft app listing will open in a hovering window.

Support and legal info

Developer Hub > public app - support and legal info

Main resources

FieldDescription
Website URL (required)Insert a link to your app’s website.

Example: https://www.carservicesapp.com
Terms of Service URL (required)Insert a link to your app’s Terms of Service webpage with rules that users must agree to abide by to use your service/app.

Example: https://www.carservicesapp.com/termsofservice
Privacy Policy URL (required)Insert a link to your app’s Privacy Policy webpage of a legal document that has most or all the information of how users’ data is gathered, used, communicated and managed.

Example: https://www.carservicesapp.com/help/privacypolicy

Additional resources

FieldDescription
Pricing page URLInsert a link to your app’s pricing page.

Example: https://www.carservicesapp.com/pricing
Support URLInsert a link to your app’s support website’s main page, where a user with questions/problems can find answers about different support channels and their SLAs, FAQs, self-service support resources, and maybe even discover tips and tricks about your app, or get general help.

Example: https://www.carservicesapp.com/support
Support emailInsert an email address for your app’s Support contact if the user needs direct help.

Example: [email protected]
Documentation URLInsert a link to your app’s documentation website from where the user can familiarize themselves with your app’s features: a detailed description of what your app can do and how, tutorials/articles for getting started or specific use cases, etc.

Example: https://www.carservicesapp.com/help
Issue tracker URLInsert a link to your issue tracker website, where users can report bugs or any other issues noticed when using your app.

Example: https://gitzhubz.com/carservicesapp/issues

👍

Once you’ve filled in your relevant app information, click on the green “Preview” button at the bottom to preview your app listing page and make sure the information is accurate. The draft app listing will open in a hovering window.

App review info

Developer Hub > public apps - app review info
FieldDescription
Main contact email (required)The main point of contact to receive
– Results and comments of the app review
– Notifications about user reviews
– Technical updates and notifications from Pipedrive
Use casePlease clearly state what problem(s) your app solves and how. This info is not public and will only be displayed to the app reviewer. Max 350 characters.
Installation flow recording URLOptional. If possible, please include a recording link to show how your app has covered the mandatory installation flows:
– A user does not have an account with you and installs the app (Installation runs through the process of creating an account and finishes the app install)
– A user does have an account with you but isn’t logged in and installs the app (Installation runs through login on your side and finished the app install)
– A user has an account with you, is logged in, and installs the app (Installation recognizes the user is logged in and finishes the app install)

Find out more about app installation flows

🚧

To be published on the Marketplace, your app needs to pass our app approval process.



Install and test your draft app


Installing and testing your draft app is a crucial step before sending your app for review. It enables you to

  • Ensure everything in your app runs smoothly
  • Check that you've implemented the mandatory installation flows
  • Identify and address potential issues early on
  • Pass our app approval process faster

NB: app testing only works for users in your sandbox account and cannot be shared with external users.

To install and test your app, click the “Install and test” notification above your app’s name or the “Install & test” option from the three-dot menu.

Developer Hub > public app - install & test

You can also click the green “Install & test” button at the bottom left of the OAuth & access scopes and App extensions tabs.

Developer Hub > public app - install & test from the OAuth & access scopes tab

You will then be brought to the OAuth confirmation dialog where you can allow and install your app to begin testing it.


App listing in the Marketplace


This is how your app’s info from General info, Setup and installation and Support and legal info tabs in Developer Hub will be converted to the app listing page in the Marketplace.



Save your app and send it for review


Ready with your app? Send it for review by agreeing to the terms and conditions of the Pipedrive Developer Partner Agreement and clicking on the green “Send to review” button.

You will then be asked to provide us with any test account information or details that the Marketplace team should know to properly install and test your app during approval.

Developer Hub > public app - provide test account info

The final step involves confirming your email address – a requirement for all public apps. You will receive the confirmation email in the main contact email you specified. Once you’ve confirmed your email address, your app will be sent to the Marketplace team for review, and its status in the Developer Hub dashboard will be changed to “In review”.

Developer Hub > public app - confirm your email

App status


The status of your app is displayed in a pill next to your app’s name in Developer Hub.

Developer Hub - apps list

Public apps can have four different statuses:

App statusDescription
App status - draftYour app is in a draft state. Please start installing and testing it before sending it for review.
App status - reviewYour app has been sent for review and is being reviewed by the Marketplace team.
App status - unpublishedYour app is approved by the Marketplace team. It remains unpublished as you have to publish it yourself.
App status - published/liveYour app is published and publicly visible in the Pipedrive Marketplace.


What happens after my app is approved?


After your app is approved, its status will be changed to “Unpublished” as you have to publish it yourself. To publish your app, go to the three-dot menu next to your approved app’s name and click “Publish”.

Developer Hub > public apps - publish approved app

Congratulations, your app is now publicly available in the Pipedrive Marketplace!