ToolJet/server
Akshay 5f180c91c3
Feature: Add Intercom marketplace plugin (#15953)
* feat: add QuickBooks Online marketplace plugin

Add a QuickBooks Online Accounting API plugin with OAuth2 authentication,
86 API operations via OpenAPI spec, and @spec/ convention for DB-stored
spec files. Includes server-side spec hosting infrastructure and a fix
for duplicate footer rendering on marketplace OAuth2 datasource config pages.

* chore: update submodule pointers

* fix: use parent transaction for spec file DB operations

storeSpecFiles and updateSpecFilesForReload were wrapping each file
insert/update in a separate dbTransactionWrap call, creating independent
transactions instead of participating in the outer install/upgrade
transaction. This could leave orphan File entities if the plugin save
failed. Now uses the parent manager directly.

* fix: use sandbox API URL, remove testConnection, add state param

- Default to sandbox-quickbooks.api.intuit.com (development apps require it)
- Remove testConnection and customTesting (OAuth flow validates connection)
- Add state parameter to auth URL (required by QuickBooks)
- Add access_token validation guard in run()
- Preserve existing refresh_token if provider doesn't reissue
- Remove environment dropdown and company_id from manifest
- Add debug logging for OAuth flow tracing

* feat: add Intercom marketplace plugin and fix path-level param rendering

Add Intercom API v2.15 marketplace plugin with 162 endpoints across 30
resource groups using react-component-api-endpoint with @spec/ convention.

Fix ApiEndpointInput widget to merge path-level OpenAPI parameters into
each operation's parameters per the OpenAPI 3.0 inheritance rule. This
ensures path params declared at the path-item level (used by Intercom,
AWS, Stripe, and many others) are rendered as input fields.

* fix: set customTesting to false so framework renders Test Connection button

customTesting: false tells the framework to render its standard Test
Connection button which calls testConnection() on the backend.
customTesting: true (counterintuitively) hides the standard button,
expecting the plugin to provide custom testing UI.

* Chore: Migrate all OpenAPI plugins from external URLs to @spec/ convention (#15904)

* chore: migrate all OpenAPI plugins from external URLs to @spec/ convention

Downloads 78 OpenAPI spec files from external URLs (7 plugins from
adishM98/base-repo-testing personal repo, 2 from official provider repos,
1 from S3) and stores them locally in openapi-specs/ directories. Updates
all operations.json files to use @spec/<kind>/<name> references, which
are resolved to DB-stored specs at install time.

Eliminates runtime dependency on external GitHub repos for spec rendering.

* chore: remove one-time spec migration script

* chore: update package-locks for intercom plugin

Adds @tooljet-marketplace/intercom workspace links and dependency
entries that were missing from the prior commits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: update intercom plugin description

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:41:38 +05:30
..
data-migrations feat: ModuleViewer - support padding toggle by passing styles to wrapper (#16302) 2026-05-07 12:27:15 +05:30
ee@818f8ab2af 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#16391) 2026-05-13 09:18:46 +05:30
lib refactor: use setup script in top level context 2025-09-11 00:15:36 +05:30
migrations Feature: Add QuickBooks Online marketplace plugin (#15903) 2026-05-13 09:16:38 +05:30
scripts Chore: Rehabilitate backend test suite (#15740) 2026-04-08 13:09:49 +05:30
src Feature: Add Intercom marketplace plugin (#15953) 2026-05-13 17:41:38 +05:30
templates Merge pull request #13780 from ToolJet/fix/bugs-11 2025-08-12 22:49:40 +05:30
test Feature: Import/Export Modules External API (#16300) 2026-05-08 21:16:38 +05:30
.eslintrc.js Initial commit 2025-02-25 12:22:50 +05:30
.gitignore Chore: Rehabilitate backend test suite (#15740) 2026-04-08 13:09:49 +05:30
.node-version Platform LTS Final fixes (#13221) 2025-07-09 22:36:41 +05:30
.npmrc
.version chore: update version to 3.20.157-lts across all components (#16390) 2026-05-13 09:10:08 +05:30
data-migration-config.ts Node upgrade 18->22 (#12836) 2025-06-17 13:01:46 +05:30
dev-entrypoint.sh rebase with lts-3.16 2026-01-27 11:58:36 +05:30
eslint.config.js Cloud licensing related changes (#13033) 2025-07-02 10:57:36 +05:30
jest.config.ts Chore: Rehabilitate backend test suite (#15740) 2026-04-08 13:09:49 +05:30
nest-cli.json Revamp: user journey emails (#9223) 2024-04-01 18:11:42 +05:30
ormconfig.ts Chore: Rehabilitate backend test suite (#15740) 2026-04-08 13:09:49 +05:30
package-lock.json Feature: Add Intercom marketplace plugin (#15953) 2026-05-13 17:41:38 +05:30
package.json fix(otel): update OpenTelemetry exporters and improve uncaught exception handling 2026-04-10 11:52:35 +05:30
README.md
tsconfig.build.json Fixed: tsconfig oauth build issue 2025-02-25 14:54:54 +05:30
tsconfig.json Chore: Rehabilitate backend test suite (#15740) 2026-04-08 13:09:49 +05:30

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.