Skip to main content

Scheduling Recurring Scans

Run DAST scans on a cron β€” daily, weekly, monthly, or a custom expression β€” without anyone having to click + DAST Scan each time.

Where schedules live​

All scheduled scans (DAST and API) are managed from one page:

Scans β†’ Scheduled Scans

The top of the page shows totals: Total Endpoints Tested, Total Scheduled Scans, Total Applications, and the Highest Frequency job. The table below lists each schedule with its job type (API or WebApp), target URL, frequency, next run time, and enable/disable toggle.

Create a schedule​

Go to Scans β†’ Scheduled Scans.

Click + New Schedule in the top right, then pick DAST Scan from the dropdown (the other option is API Scan).

The Schedule DAST Scan dialog opens. It has five steps:

  1. Schedule Configuration β€” name + frequency (below).
  2. Select Mode β€” same as the ad-hoc Create Scan dialog (Crawl vs Scan, target URL, test-run environment).
  3. Authentication β€” same four strategies (None / Form / Token / AI-driven) plus Pre-Auth fields. See Authentication.
  4. Crawling & Discovery β€” crawl mode, depth, pages, timeouts, domain filters.
  5. Security Tests β€” Smart/Thorough depth, test categories, injection points, HTTP methods.

Steps 2–5 are identical to the Create a Scan flow β€” re-read that page if you need field-level detail.

Click Save. The schedule appears in the list with its next-run time and an enable/disable toggle.

Schedule frequency​

Step 1 of the dialog has three top-level modes:

ModeUse when
RepeatStandard recurring schedule (daily / weekly / monthly + time-of-day).
OnceFire exactly once at a specific date/time. Useful for release rehearsals.
CustomAny cron expression β€” power-user option for "every 4 hours Mon–Fri" and the like.

Repeat options​

  • Daily β€” one or more times per day at the chosen HH:MM.
  • Weekly β€” pick the days of the week (S Β· M Β· T Β· W Β· T Β· F Β· S buttons) plus the time.
  • Monthly β€” pick day-of-month and time.

The dialog shows a plain-English preview at the bottom, e.g. "This job will execute at 08:00, only on monday, tuesday, wednesday, thursday, and friday." Use it to sanity-check before saving.

Schedule recipes​

ScenarioFrequencyWhy
Continuous prod monitoringDaily @ 02:00Catch drift overnight, report before standup.
Pre-deploy weekly regressionWeekly, Mon @ 22:00Gate Monday-morning releases.
Monthly compliance auditMonthly, day 1 @ 09:00Deliverable for SOC2 / ISO reviews.
Dev-env multi-dailyCustom: 0 12,20 * * 1-5Two passes per workday during active development.

Manage existing schedules​

From the Scheduled Scans page:

  • Enable / disable β€” the toggle on each row. Pauses execution without deleting.
  • Edit β€” the pencil icon. Re-opens the 5-step dialog to change config or frequency.
  • Delete β€” the trash icon. Historical runs stay; only the schedule is removed.
  • Filter β€” tabs for All Β· One Time Β· Daily Β· Weekly Β· Monthly and All Β· API Scan Β· DAST Scan.
  • Search β€” find a schedule by name.
Disable, don't delete

If you're pausing a schedule for a release freeze or holiday, disable it. Re-enabling preserves all settings β€” deleting forces you to re-enter them.

Troubleshooting​

Schedule didn't run​

  • Disabled toggle β€” most common. Check the toggle column.
  • Start/end window β€” confirm the schedule's next-run time is in the future.
  • Target unreachable β€” the target URL must resolve from the Levo cloud runner (or the on-prem worker you chose in Step 2).
  • Auth broke β€” rotated password? Edit the schedule and re-enter credentials.

Variable scan duration​

Scan duration naturally varies with app size and load. If it drifts too far:

  • Lower max_pages and max_depth in Crawling & Discovery.
  • Switch Scan depth from Thorough to Smart in Security Tests.
  • Stagger schedules so they don't overlap.

Next steps​

Was this page helpful?