.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