Skip to content

Conversation

@hassan254-prog
Copy link
Contributor

@hassan254-prog hassan254-prog commented Dec 2, 2025

Describe the problem and your solution

Introduce a new auth_mode: INSTALL_PLUGIN. This auth_mode will be used in conjunction with an auth_type such as BASIC, API_KEY, JWT, etc. Currently, it is only configured with BASIC to support Crisp plugin installation.

The flow works as follows: the app developer provides the app link along with the API authentication credentials (e.g., username and password, which are the plugin credentials). The end user then installs the plugin in their workspace or org.

Once we receive a successful callback response, webhook can be implemented if need be, Nango copies these credentials to the new connection. The connection is then created and verified as usual in Nango, depending on the auth_type of the credentials.


Support Crisp plugin installs via new INSTALL_PLUGIN auth mode

Introduces a new INSTALL_PLUGIN auth mode (currently paired with BASIC credentials) to enable Crisp marketplace plugin installs. Server, SDKs, UI, provider metadata, encryption, and documentation have been updated so app developers can supply plugin credentials, route end-users through Crisp’s install URL, and provision verified connections from the callback response.

Key Changes

• Added installPluginRequest/installPluginCallback handling in packages/server/lib/controllers/oauth.controller.ts, including credential testing, connection upsert, validation, and Connect session syncing for plugin installs
• Extended shared types/services (InstallPluginCredentials, provider schema, connection service, hooks, SDKs) so INSTALL_PLUGIN flows are recognized across backend, node client, and runner SDK
• Updated web dashboard with SettingsInstallPlugin UI, new auth badge label, and provider schema entry (crisp-plugin-install) containing documentation, tooling snippets, and assets
• Adjusted encryption manager to encrypt custom config even when no OAuth client secret is present, ensuring plugin credentials in config.custom are securely stored
• Published Crisp plugin install documentation (quickstart, setup guide, pre-built assets) and wiring into docs navigation

Affected Areas

• packages/server/lib/controllers/oauth.controller.ts
• packages/shared/lib/services/connection.service.ts
• packages/shared/lib/utils/encryption.manager.ts
• packages/types/lib/auth/api.ts
• packages/providers/providers.yaml
• packages/webapp/src/pages/Integrations/providerConfigKey/Settings/components/InstallPlugin.tsx
• packages/node-client/lib/index.ts
• packages/runner-sdk/lib/action.ts
• docs/api-integrations/crisp-plugin-install.mdx


This summary was automatically generated by @propel-code-bot

@hassan254-prog hassan254-prog force-pushed the wari/support-for-crisp-plugin branch from 15d05a4 to a02314d Compare December 2, 2025 10:46
@hassan254-prog hassan254-prog requested review from a team and khaliqgant December 3, 2025 11:38
Copy link
Collaborator

@TBonnin TBonnin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not a fan or having a new auth_mode (and 500 lines of codes) for a single super niche provider. Is there any way for the end user to retrieve their credentials when installing the plugin and enter them in Nango Connect as basic BASIC creds?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants