npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@outreach/client-addon-sdk

v0.1.69

Published

<!-- omit in toc --> # Outreach client extensibility SDK

Downloads

236

Readme

Outreach client extensibility SDK

This document contains all the information a developer needs to create an Outreach addon.

If you have any questions/comments/concerns about the client's extensibility, please email us at [email protected].

NOTE: This document is an early preview of the client extensibility framework whose primary purpose is to speed up the collaboration and scenario exploration with potential addon creators. It will be changing at a rapid pace until the official release of the platform.

Table of content

How it works

When an Outreach user goes to a specific part of the Outreach application (e.g., opportunity page), the application will check if that user has installed addons for that part of the app and if yes:

  • Add a tab with the title of the addon
  • Add an iframe with the source pointing to an addon hosting page
  • Send the current user contextual information to the addon to initialize itself into a proper state.

Required steps to build an addon

The client extensibility framework supports a few integration methods with different coding requirements and provides a different integration level with Outreach. Each one of the methods requires one or more steps to be implemented based on the addon requirements.

  1. Every addon needs to have an addon web page, which will Outreach users see loaded as a source of addon iframe. This page implementation has to follow a very small set of requirements.

    During the development phase, addon creators can skip this requirement and use only a Locally hosted addon page without the need to have a publicly available page.

  2. Every addon also needs to create and upload a manifest file. That manifest file contains things like the URL where the addon web page is located, contextual information which addon needs from Outreach, details about Outreach API access, etc.

    If your addon is stateless (e.g., currency exchange calculator addon) or your addon has independent initialization (e.g., initialize itself based on its cookie), there is no need for any additional work to be done.

    Go to manifest file page to learn more.

  3. All stateful addons would need contextual information from Outreach to initialize themselves in the proper state. For that, they need to parse from the URL a set of contextual information (e.g., opportunity id, prospect email, etc.) sent by Outreach.

    Go to host url parameters parsing page to learn more.

  4. Most of the addons would want to have deeper integration with the Outreach application (e.g., to notify Outreach user about some addon event), and for that, the addon will need to integrate the Outreach client sdk.

    Go to Outreach client SDK page to learn more.

  5. Some of the addons will need to have client access to Outreach API, and for that, they will need to add support on the addon server required for obtaining and refreshing access tokens. This will include implementing additional endpoints, server to server calls to Outreach API, token caching, etc.

    Go to Outreach API access page to learn more about API access requirements.

If you have any questions/comments/concerns about the extensibility, please check the FAQ or email us at [email protected].

What can you make?

There are two types of addons you can create with the Outreach client sdk: application addon and tab addon.

Application addon

Application addon is a type of addon where the addon creator wants to bring its all app to Outreach.

alt text This type of app has an icon in the left side menu at the same level as other Outreach icons. Clicking on that icon will load an iframe taking the whole space and showing the addon host page defined in the manifest.

Application addon can receive only user and organisation contextual information.

Application addon can define a special notifications endpoint, which will enable it to implement things as unread notifications badge decoration, show informational toast, etc., even before Outreach user interacted with the addon.

Tab addon

Tab addon is an addon that enables you to load your application in a context of a specific account, prospect, or opportunity. Your application is being loaded as an additional tab beside other standard Outreach tabs.

alt text

Tab addons are loaded after the tab is being opened. In addition to the organization and user context available to application addons, they can receive current account context (account tab), current prospect context (prospect tab), and current opportunity context (opportunity tab).

Tab addons do not support the notification feature application addons have.