Scheduling¶
VibeTesting supports scheduled test execution — run your tests at a specific future time, or set up recurring schedules so your app is tested automatically on a daily or weekly cadence.
Key capabilities¶
| Capability | Description |
|---|---|
| One-time scheduling | Schedule a test run for a specific date and time |
| Recurring schedules | Repeat daily or weekly with a configurable number of occurrences |
| Relative timing | Schedule runs relative to now (e.g., "run in 30 minutes") |
| End-date boundaries | Define a recurring window with an end date |
| Timezone-aware | All schedules respect your timezone (IANA format, e.g. America/New_York, Asia/Jerusalem) |
| Both execution modes | Works with exploration and guided test runs |
| Email reports | Optionally receive an email report after each scheduled run |
| Easy cancellation | Cancel a specific schedule, a suite's schedule, or all active schedules |
How to schedule tests¶
Via the AI chat¶
Tell the assistant when you want tests to run. The assistant confirms details before creating the schedule.
Examples:
- "Schedule my login tests for tomorrow at 9 AM, repeating daily for 5 days."
- "Run my checkout suite every night at 2 AM and email me the report."
- "Run these tests in 30 minutes."
- "Schedule suite onboard-1 to run every night until Saturday."
For suites that sign in, use Test Users so credentials stay in the dashboard.
Via the local agent skill¶
You can schedule runs from the VibeTesting skill using natural language.
Examples:
- "Run my login tests tonight at 2 AM."
- "Schedule this checkout suite every night for 5 nights."
- "Run a smoke test in 30 minutes."
The skill converts the requested time into schedule parameters and confirms the schedule before starting the cloud run. Scheduled runs support one-time, daily, and weekly recurrence. For authenticated suites, use Test Users instead of putting credentials in chat or plan files.
Via the API¶
Use the /api/external/run-tests/ or /api/external/run-suite/ endpoints with scheduling parameters. This is ideal for CI/CD integration.
curl -X POST "https://app.vibetesting.me/api/external/run-tests/" \
-H "Authorization: api-key YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"execution_type": "guided",
"tests": [
{"name": "teacher signup", "steps": "signup as a teacher, log out and signin with the new details. Verify success signin"},
{"name": "teacher wrong credentials", "steps": "signin as a teacher with wrong credentials. Verify unsuccessful signin"}
],
"login": {"login_needed": true, "identifier": "user@ex.com", "password": "secret"},
"general_instructions": "Focus on checkout, search. Focus on error handling",
"flows_count": 3,
"max_steps_per_flow": 15,
"should_send_report": false,
"should_stop_existing": false,
"allow_parallel": false,
"schedule_at": "2026-04-04T02:00:00+03:00",
"repeat": "weekly",
"repeat_count": 4,
"timezone": "Asia/Jerusalem"
}'
For schedules that need login, prefer dashboard Test Users and the API test_user / test_user_id fields instead of embedding passwords in payloads.
Scheduling parameters:
- schedule_at — ISO 8601 datetime to schedule the run instead of starting immediately (e.g.
2026-04-04T02:00:00+03:00) - repeat — recurrence interval:
once,daily, orweekly - repeat_count — number of occurrences for a recurring schedule
- timezone — IANA timezone string (e.g.
Asia/Jerusalem,America/New_York). Defaults to the user's configured timezone
Response — scheduled run
{
"status": "success",
"schedule_id": "....",
"execution_ids": [123, 124, 125, 126],
"message": "..."
}
Response — failure
{
"status": "fail",
"reason": "..."
}
See the External API reference for the full parameter list and all response formats.
How it works¶
- When you create a schedule, execution entries are pre-created with a SCHEDULED status — visible in your Inventory.
- At the scheduled time, the run automatically starts and transitions to PROCESSING.
- Credits are validated upfront before the schedule is created.
- Scheduled runs don't count toward the parallel execution limit until they actually start.
- Remaining occurrences count down automatically; the schedule deactivates when complete.
Cancellation¶
You can cancel schedules at any time:
- Cancel a specific schedule
- Cancel all schedules for a suite
- Cancel all active schedules
Cancelled schedules mark any pending executions as SCHEDULE_CANCELED.
To cancel, ask the assistant (e.g., "Cancel all my scheduled runs") or use the External API stop-execution endpoint with schedule_id and cancel_scheduled: true:
curl -X POST "https://app.vibetesting.me/api/external/stop-execution/" \
-H "Authorization: api-key YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schedule_id": "SCHEDULE_UUID",
"cancel_scheduled": true
}'
Response
{
"status": "success",
"schedule_id": "....",
"canceled_execution_count": 4,
"message": "..."
}