We offer a straightforward solution for managing demo instances, perfect for showcasing your SaaS to potential tenants. A demo instance allows tenants to explore your offering before initiating a trial or subscription, enhancing their decision-making process.
To set up demo instances for demonstration purposes, follow these steps:
- Create a Private Package:
Begin by creating a standard package and marking it as “Private”. This step is optional but recommended to ensure demo instances are not subject to active subscription validation or invoice payments. - Set Up a Demo Customer:
Create a demo Perfex customer with an associated contact. - Assign the Customer to the Package:
Link the demo customer to the private package you’ve just created. - Create the Demo Instance:
Navigate to SaaS > Tenants and create a demo instance. While filling out the form, make sure to select the demo customer you created earlier. - Configure Demo Instance Settings:
Go to SaaS > Settings > Miscellaneous and select your demo instances. By default, demo instances reset every 24 hours, but you can customize this interval by entering a suitable value in hours.

Tips for an Enhanced Demo Experience:
- Preset Seeding Tenant:
For a consistent demo experience without having to set logos, titles, etc., after each reset, use a preset seeding tenant in the private package’s advanced settings. This ensures the demo instances inherit content from the preset tenant.

- Shared Settings:
Alternatively, leverage shared settings from the private package to maintain uniformity across multiple demo instance(s).

Incase you maintain different demo for each packages. You can repeat this process to manage different demos for various packages, ensuring each tenant type experiences a tailored demo.
Use Case: Creating multiple demos for different packages using distinct seeders #
Kindly follow these steps to set up 3 demo CRMs with different data based on the packages, each package using a different seeder:
- Ensure that under SaaS > Settings > Tenant Seeding, all the tables that should be shared across all packages or tenants are allowed. (We only want to control the actual data via seeding.)
- Create 3 packages and optionally an additional private package with zero cost (possibly as a lifetime deal).
- Create a client (John) subscribed to the private zero-cost package.
- Create three (3) instances for the client (John).
- Log in to each of the 3 instances and enter the data as desired.
Make sure you provide the same admin credentials. You can log in to each instance and update the admin/staff password. - Edit the 3 packages and assign one of the 3 instances as the seeding tenant for each package.
- Create 3 additional demo clients — one in each of the 3 packages (i.e., each client on a different package).
- Create a tenant instance for each of these demo clients; each will be seeded from your preconfigured seeding tenants in step #6.
- Go to SaaS > Settings > Demo Instances and select the 3 instances created in step #8 (one per client on different packages) as the demo instances.
This results in a total of 6 instances: 3 seeder instances (on a single account) and 3 demo instances (on different accounts and packages).
However, we recommend using a setup that minimizes the number of seeders and demo instances required, as this will increase your system’s resource usage.
In this case, your cron job will need to monitor an additional 6 non-paying instances.