Configuration
After installation, you need to configure the application to connect to Zuora and customize settings..env file configuration
The.env file contains all application environment variables.
Application configuration
Database configuration
With Lando, these settings are already configured correctly.
Queue configuration
database- Database queues (recommended for development and production)redis- Redis queues (requires configured Redis)sync- Immediate synchronous execution (no background jobs)
Cache configuration
Email configuration (optional)
To enable email notifications:Google OAuth configuration (optional)
To enable Google login:Zuora credentials configuration
Zuora credentials are configured per customer through the administrative interface, not in the.env file.
Step 1: Access the admin panel
Navigate tohttps://zuora-workflows.lndo.site and login.
Step 2: Create a new customer
- Click Customers in the sidebar
- Click New Customer
- Fill out the form:
- Name: Customer organization name
- Zuora Client ID: Your Zuora OAuth 2.0 Client ID
- Zuora Client Secret: Your Zuora OAuth 2.0 Client Secret
- Zuora Base URL: Zuora API endpoint
Step 3: Select the correct Zuora endpoint
| Environment | Base URL |
|---|---|
| Production | https://rest.zuora.com |
| Test | https://rest.test.zuora.com |
| Sandbox | https://rest.sandbox.zuora.com |
Step 4: Save the customer
Click Create to save the customer.Obtaining OAuth 2.0 credentials from Zuora
Step 1: Access Zuora Central Platform
Go to Zuora Central Platform.Step 2: Navigate to OAuth settings
- Click Settings → Administration
- Select Manage OAuth Clients
Step 3: Create a new OAuth Client
- Click Create New Client
- Enter a descriptive name (e.g., “Workflow Manager”)
- Select required scopes:
workflow:readworkflow:write
- Click Create
Step 4: Copy credentials
Zuora will display:- Client ID: Copy and save
- Client Secret: Copy and save (shown only once!)
Scheduler configuration
To enable automatic workflow synchronization, configure the scheduler.Development with Lando
Start the scheduler in a separate terminal window:Production
Add a cron job that runs the scheduler every minute:Synchronization frequency
The default frequency is every hour. To modify it, editroutes/console.php:
Queue worker configuration
Development with Lando
Start the queue worker:Production
Use Supervisor to keep the queue worker always active. Create/etc/supervisor/conf.d/zuora-workflows.conf:
Settings UI configuration
Some settings can be configured through the Settings interface.Access Settings
- Login as Super Admin
- Click Settings in the menu
- Select General Settings
Available sections
Site Information
- Site Name: Site name
- Site Description: Site description
OAuth Configuration
- OAuth Enabled: Enable/disable OAuth login
- Allowed Domains: Email domains allowed for registration
- Google Client ID: Google OAuth Client ID
- Google Client Secret: Google OAuth Client Secret (encrypted)
Application Configuration
- Admin Email: Default administrator email
Maintenance
- Maintenance Mode: Enable/disable maintenance mode
OAuth settings configured through Settings UI take priority over environment variables.
Permissions configuration (RBAC)
The application uses Filament Shield for role-based access control.Default roles
- super_admin: Full access to all features
- panel_user: Basic panel access
Role management
- Navigate to Shield → Roles
- Click on a role to edit permissions
- Select/deselect permissions per resource
- Click Save
Assigning roles to users
- Navigate to Users
- Click on a user
- Select roles in the Roles section
- Click Save
Verify configuration
Test Zuora connection
After configuring a customer:- Navigate to Customers
- Click on the newly created customer
- Click Sync Workflows
- Verify that the job is queued without errors
Test queue worker
Verify that the queue worker is processing jobs:Test scheduler
Verify that the scheduler is configured correctly:Configuration troubleshooting
Error: “Invalid Zuora credentials”
Verify that:- Client ID and Client Secret are correct
- Base URL is correct for your environment
- Credentials have the necessary scopes
Error: “Queue connection refused”
Verify queue configuration:database queue, verify that the jobs table exists:
Error: “Cache connection refused”
Verify that Redis is active:file cache:
Next steps
Now that configuration is complete, start using the application:First use
Guide to first use of the application