Visibility and development of app extensions

Visibility of app extensions


📘

Shared visibility of app extensions is currently available for link app actions and JSON panels.

Currently, the company-wide visibility of app extensions is in a testing phase and available for your app only by request. To have the expanded visibility of app extensions enabled for your app, please contact [email protected].

App extensions are always available to one user in a company but can also be shared with all users in a company. That means the data displayed by the app will be visible either only to the user who installed the app or to all users in the Pipedrive company.

The admin user of the account can choose the app extensions' visibility during the app installation process and later modify the visibility in Settings. Sharing can only be done by one admin at a time as only one admin can own the sharing option for an app. Other admins can't share or unshare one app's app extensions until the first admin either stops sharing for the app or is deactivated (in which case the app extensions will become unshared automatically).

13341334

User choosing the app extensions' visibility during the app installation process

If the app extensions have been shared with the whole company, all users in that company will get an email notifying them about access to the extensions. Users can also see the app extensions they have access to when they go to Settings > Tools and apps > Marketplace apps. JSON modals are visible to all company members when the app is shared, but only users who have installed the app can use them.

20902090

Changing app extensions' visibility in Settings

Having the app extensions shared in the company doesn't mean that the app itself is shared between all users of that company. If the app extensions have shared visibility, non-admin users still need to install the app in order to use any other functionalities of the app besides the app extensions.


Development of app extensions


The main idea behind app extensions is to present information and have it move seamlessly between multiple workspaces. This is why it's important that all added app extensions provide additional value to the already existing app functionality or make it easier for users to interact with the established functionality.

To increase the usage of your app through interactivity between the app and Pipedrive, we suggest carefully thinking through what should be the most useful use cases that app extensions could assist users with.

Due to the expanded access to data and visibility, app extensions require some extra attention during the development and testing phase. For that, we have combined a small list of aspects that should be covered when adding app extensions to your app:

Use case planning (JSON panels and app actions)

Think about what kind of data (from your app) should be visible in Pipedrive for users who don’t have the app installed themselves. Should all company users see everything or should it depend on the user’s role in Pipedrive?

For example, you can see isShared parameter's value in app panel requests to understand if the user who sees the app panel has installed the panel themselves or the visibility has been shared with them.

Displaying the information

You should take into account when the functionality on your side depends on whether or not a user has the app installed. Most likely you should let users (who don’t have the app installed) also see Pipedrive's data and perform activities in Pipedrive on your side (when an app has been installed and shared between Pipedrive users).

For JSON panels

To help you understand if the app panel has shared visibility, we'll send a POST request to the callback URL, which is set in your app listing page in Marketplace Manager, to notify whether the app is with shared or private visibility. The body of the request consists of company ID, user ID and the isShared parameter.

{ 
    “company_id”:001 , 
    “user_id”: 007 , 
    “isShared”: false
}

This request will be sent in the following cases:

  • when a user installs the app
  • when the admin user changes the visibility of the app extensions of your app.

Handle data after app panels have been unshared

As it is possible for admin users to share the visibility of link app actions and JSON panels, it is also possible to unshare them.

When a user unshares app extensions in Pipedrive, the functionality on your side should also take this into account so that unauthorized users wouldn't see the data hosted in Pipedrive or perform actions in Pipedrive. In addition, for improved security, you should return an error for app panel requests from such unauthorized users. This is the time where you can use the information from the POST request we send to your Callback URL to notify you of any changes in the sharing status, so you can quickly get the visibility status from the isShared parameter.

Also, make sure sharing and unsharing app extensions remain working correctly if you allow your users to log in to your app via Pipedrive (using us as the identity provider).


Did this page help you?