Overview
Periodic Triggers allow you to set up automated HTTP requests to your endpoints on a scheduled basis. These triggers can be used to:- Automate recurring tasks
- Perform health checks
- Schedule data synchronization
- Run cleanup jobs
- Generate reports
- Send scheduled notifications
- Execute any API calls that need to run at regular intervals

Setting Up a Trigger
1
Navigate to Triggers
Go to Application > Environment > Triggers
2
Create new trigger
Click on New trigger button
3
Configure trigger
Fill in the inputs in the modal:
- Name: Descriptive name for the trigger
- URL: The endpoint to call (must be on your custom domain)
- Cron expression: When to run the trigger
- HTTP Method: GET, POST, PUT, DELETE, etc.
- Headers (optional): Custom headers to include
- Body (optional): Request body for POST/PUT requests
4
Create trigger
Click on Create button to activate the trigger
Cron Expression Format
Periodic triggers use standard cron expressions to define schedules:Common Cron Examples
Every Hour
Every Day at Midnight
Every Monday at 9 AM
Every 15 Minutes
More Examples
Use Cases
Health Checks
Data Synchronization
Cleanup Jobs
Report Generation
Debugging
Stormkit saves the request and response for each periodic task. You can view the last 25 logs for each trigger:1
Locate trigger
Find the trigger in your Triggers list
2
Open menu
Expand the dot menu
(...) next to the trigger3
View logs
Click on the Past triggers menu item
- Timestamp
- Request details (URL, method, headers, body)
- Response status code
- Response body
- Execution duration
- Any errors encountered
Logs are retained for the last 25 executions per trigger.
Best Practices
1. Use Idempotent Endpoints
Ensure your endpoints can be safely called multiple times:2. Implement Authentication
Secure your trigger endpoints:3. Handle Errors Gracefully
4. Set Appropriate Timeouts
Ensure long-running tasks complete within timeout limits:5. Monitor Execution
Log trigger executions for monitoring:Self-Hosting
If you are self-hosting Stormkit, the periodic jobs are handled by the workerserver.
Limitations
- Custom domains only - Triggers must call endpoints on custom domains
- UTC timezone - All cron schedules run in UTC timezone
- Execution logs - Only the last 25 executions are stored
- Timeout - Triggered requests must complete within standard timeout limits
Troubleshooting
Trigger not firing
Trigger not firing
- Verify the cron expression is correct using a cron validator
- Check that the trigger is enabled
- Ensure the URL points to a custom domain (not preview URL)
- Review the trigger logs for errors
Endpoint returning errors
Endpoint returning errors
- Check the Past Triggers logs for error details
- Verify the endpoint URL is correct and accessible
- Ensure authentication headers are properly configured
- Check server logs for the endpoint
Wrong timing
Wrong timing
- Remember: all schedules are in UTC timezone
- Convert your local time to UTC
- Verify the cron expression matches your intent
- Check Past Triggers for actual execution times
Timeout errors
Timeout errors
- Optimize endpoint to complete faster
- Process data in smaller batches
- Consider async processing for long tasks
- Check server timeout configurations
Security Considerations
- Authentication - Always authenticate trigger requests
- Rate limiting - Implement rate limiting on trigger endpoints
- Validation - Validate all inputs even from scheduled triggers
- Secrets - Use environment variables for sensitive data
- HTTPS only - Always use HTTPS URLs for triggers