A Laravel package to integrate Trigger.Dev APIs into your Laravel application.
It allows you to manage Tasks, Runs, Schedules, and Environment Variables (EnvVars) easily from your Laravel app.
- Task Trigger: Trigger individual tasks or batch tasks.
- Runs: List, retrieve, replay, cancel, reschedule, and update metadata for runs.
- Schedules: Create, update, activate, deactivate, and delete schedules.
- EnvVars: List, create, upload, update, retrieve, and delete environment variables.
use Schorpy\TriggerDev\Task;
// Trigger a single task
$response = Task::trigger('hello-world', ['foo' => 'bar'], ['priority' => 1]);
// Trigger a task with a public token
$response = Task::triggerWithPublicToken(
taskId: 'hello-world',
payload: ['foo' => 'bar'],
options: ['priority' => 1],
ttl: '1h'
);
// Batch trigger multiple tasks
$batchResponse = Task::batchTrigger([
['task' => 'task-1', 'payload' => ['a' => 1]],
['task' => 'task-2', 'payload' => ['b' => 2]],
]);
use Schorpy\TriggerDev\Runs;
// List all runs
$runs = Runs::list();
// Retrieve a single run
$run = Runs::retrieve('run_1234');
// Replay or cancel a run
$replayed = Runs::replay('run_1234');
$canceled = Runs::cancel('run_1234');
// Reschedule a run
$rescheduled = Runs::reschedule('run_1234', '2025-09-16T10:00:00Z');
// Update metadata
$metadataUpdated = Runs::metadata('run_1234', [
'key' => 'value',
'env' => 'production'
]);
use Schorpy\TriggerDev\Schedules;
// List schedules
$schedules = Schedules::list();
// Create a schedule
$newSchedule = Schedules::create('my-task', '0 0 * * *', 'external-id', 'America/New_York');
// Retrieve, update, or delete a schedule
$schedule = Schedules::retrieve('sch_1234');
$updated = Schedules::update('sch_1234', 'my-updated-task', '0 0 * * *', 'external-id', 'America/New_York');
Schedules::delete('sch_1234');
// Activate or deactivate a schedule
Schedules::activate('sch_1234');
Schedules::deactivate('sch_1234');
use Schorpy\TriggerDev\EnvVars;
$project = 'proj_yubjwjsfkxnylobaqvqz';
$env = 'dev';
// List environment variables
$vars = EnvVars::list($project, $env);
// Upload multiple variables
EnvVars::upload($project, $env, [
['name' => 'SLACK_API_KEY', 'value' => 'slack_123456'],
['name' => 'API_SECRET', 'value' => 'secret_789']
], false);
// Create a single variable
EnvVars::create($project, $env, 'SLACK_API_KEY', 'slack_123456');
// Retrieve, update, or delete a variable
$var = EnvVars::retrieve($project, $env, 'SLACK_API_KEY');
EnvVars::update($project, $env, 'SLACK_API_KEY', 'slack_new_987');
EnvVars::delete($project, $env, 'SLACK_API_KEY');
We welcome contributions! Here's how to help:
- Fork the repository to your GitHub account and clone it locally.
- Create a feature branch for your changes.
- Implement changes or add features.
- Test thoroughly to ensure functionality.
- Submit a pull request with a detailed description of your changes.