This project contains examples of Boomi EmbedKit configured across multiple front-ends and a simple Node.js server. Use these to see working integrations end to end. For details, see our Product Documentation.
- server — simple Node.js server
- common-js — vanilla JS front-end
- react — React web front-end
The following are prerequisites to installing and configuring these demo environments.
EmbedKit is a private npm package. You’ll need an auth token and an .npmrc in the root of the client you run so @boomi/embedkit can install.
Please contact Boomi Support or the EmbedKit Team for an npm access token if you do not have one.
Please ensure your system has npm or yarn installed. You will also use environment variables to hold your Boomi credentials; have these ready:
API_ACCOUNT_ID="YOUR PRIMARY ACCOUNT ID WITHIN BOOMI"
API_USERNAME="A SERVICE ACCOUNT WITHIN BOOMI"
API_TOKEN="THE API TOKEN FOR THE SERVICE ACCOUNT"
API_AUTH_USER="THE SUB ACCOUNT ID WITHIN BOOMI"
API_ACCOUNT_GROUP="THE ACCOUNT GROUP HOLDING YOUR IPACKS"The EmbedKit runs inside your app and makes client calls to the EmbedKit Server, so you must configure CORS for your tenant (parent account id):
- Login to https://admin.boomi.space
- Click the CORS tab in the left-hand menu.
- Click “+” to add a configuration.
- Add your origin and click save.
- Verify the origin appears in your CORS configurations.
Note
If you run into CORS issues, contact Boomi Support or the EmbedKit team.
From the repo root, change into /server and run:
npm iCreate server/.env:
## .env
# Server
PORT=8080
NODE_ENV=development
# Auth
JWT_SECRET=createAJWTSecret
# CORS
CORS_ORIGINS=http://localhost:5173
# Boomi
EMBEDKIT_SERVER_BASE="https://api.boomi.space/api/v1"
API_URL="https://api.boomi.com/partner/api/rest/v1"
API_ACCOUNT_ID="***"
API_USERNAME="***"
API_TOKEN="***"
API_AUTH_USER="***"
API_ACCOUNT_GROUP="***"
# AI (optional)
OPENAI_API_KEY="***"
OPENAI_API_MODEL="gpt-4o-2024-08-06"npm run devFrom the repo root, change into the client you want (/common-js or /react) and run:
Create an .npmrc in the client root with your token:
//registry.npmjs.org/:_authToken=npm_SOME_AUTH_TOKENInstall dependencies:
npm iCreate .env in that client:
## .env
# Server (port must match the server configured above)
VITE_SERVER_URL="http://localhost:8080"npm run devThe server and client should start without errors. If you see console errors, configuration is missing or incorrect.
Once both are running, navigate to http://localhost:5173:
- You’ll be prompted to log in.
- Enter any username/password (the demo server does NOT validate credentials; do not use this in production).
- The client requests authentication from the server.
- The server reads
.envcredentials and authenticates with the EmbedKit Server. - On success, the server returns a one-time HMAC nonce (2 min TTL).
- The client initializes BoomiPlugin with the nonce, your tenantId (parentAccountId), and
boomi.config.js. - The demo renders with EmbedKit initialized.
Sample boomi.config.js files are included. See the Product Documentation to adjust configuration.
Important
You must create a CORS configuration in the EmbedKit administration app to enable your demo, test, or production instances. Follow the steps above to ensure it’s set up.