Skip to main content
Stigg provides a script (based on GraphQL queries) that imports products from Zuora into Stigg. This script imports product catalog data from Zuora into Stigg by connecting to the Stigg GraphQL API and converting Zuora products, rate plans, and charges into Stigg products, plans, add-ons, and prices. It is designed to simplify catalog synchronization and ensure your Stigg environment accurately reflects your Zuora configuration. The script maps the first Zuora product to the main product in Stigg and assigns all plans and add-ons from any additional Zuora products to that same product. Zuora rate plans are converted into Stigg plans and add-ons, with add-ons automatically detected based on naming conventions such as add-on or addon. The import currently supports only flat-rate pricing models. All created entities are saved as drafts by default, with the option to publish them as part of the workflow.
1

Clone the import script repository

Clone the repository that contains the Zuora-to-Stigg catalog import script:
git clone https://github.com/stiggio/import-scripts
cd import-catalog-from-zuora
2

Set up your environment and credentials

Use the provided .env.example file as a template:
cp .env.example .env
Update the values in .env with your Stigg credentials and Zuora configuration:
X_API_KEY=your-stigg-api-server-key
ENVIRONMENT_ID=your-stigg-environment-id
ZUORA_PRODUCT_IDS=zuoraProductId1,zuoraProductId2
  • ZUORA_PRODUCT_IDS accepts a comma-separated list of Zuora product IDs.
3

Install dependencies

Install the required dependencies:
yarn install
4

Run the default import

Run the script without any flags to perform a basic import:
yarn run zuora-import
This mode:
  • Creates new entities only
  • Does not update existing entities
  • Creates all entities in Draft status
5

Update existing entities (optional)

To update existing products, plans, and prices in Stigg, run the script with the --update flag:
yarn run zuora-import --update
This mode:
  • Creates new entities if they don’t exist
  • Updates existing entities
  • Does not publish any entities
6

Publish imported entities (optional)

To automatically publish all unpublished entities after import, use the --publish flag:
yarn run zuora-import --publish
This mode:
  • Creates new entities if they don’t exist
  • Publishes all unpublished entities
  • Does not update existing published entities
7

Update and publish in one run (optional)

You can combine update and publish behavior in a single run:
yarn run zuora-import --update --publish
This mode:
  • Creates new entities
  • Updates existing entities
  • Publishes all unpublished entities
8

Preview changes with dry-run mode

Use the --dry-run flag with any command to preview changes without modifying Stigg:
yarn run zuora-import --dry-run
yarn run zuora-import --update --dry-run
yarn run zuora-import --publish --dry-run
yarn run zuora-import --update --publish --dry-run
In dry-run mode:
  • No changes are applied to Stigg
  • All planned actions are logged to the console for review