Automation limits and frequency
Exactly how often each automated job runs, how much it processes per pass, which settings you control, and what each plan can automate.
Last updated 2026-09-10
Summary#
This is the complete answer to "how often does that actually run". It covers the clock behind every automated job, how much work each pass does, every timing setting you can change and the range it accepts, what each plan can automate, and which parts of the product only look automatic. Use it to tell an expected wait apart from a fault.
Overview#
Automation in Metric Vault has two layers, and confusing them is the source of most "why hasn't it run" questions.
The clock. A scheduler outside the app wakes the background jobs roughly every 15 minutes, with an hourly backup in case the first one is unavailable. A wake-up is not a run: it is an invitation for each job to check whether it has anything due.
The throttle. Every job then decides for itself what is due, using timestamps it stores against each item. A monitored URL checked four hours ago on a six-hour interval is skipped; a rank alert last checked 25 hours ago is processed. This is why the scheduler can run 96 times a day while your keyword is only checked once.
The practical rule: the scheduler decides the granularity, each item decides its own cadence. Nothing runs more often than its own interval, and nothing waits longer than its own interval plus about fifteen minutes.
Note: Because each job filters to what is due, calling the scheduler more often would not check anything more often. There is no way to make a job run ahead of its own interval, from any screen.
How often each automated job runs#
| Automation | What it does | How often each item is processed | Processed per pass | What decides it is due |
|---|---|---|---|---|
| Competitor Monitor | Re-fetches each monitored URL, snapshots it and records what changed | Every 6 hours per URL | Up to 50 URLs | The time since that URL's own last check. Never-checked URLs go first, then the longest-waiting |
| Rank Alerts | Re-checks each tracked keyword's position and alerts on a drop | Every 24 hours per keyword | Up to 30 alerts | 24 hours since that alert's own last check |
| AI visibility tracking | Re-measures tracked brands across the AI engines and evaluates delta alerts | Weekly per brand | Up to 2 brands, 8 prompts each | The time since that brand was last measured, by any route. A brand is due seven days after its newest measurement. The job itself looks for due brands about every 6 hours |
| Scheduled Reports | Records a run for each due schedule and emails the recipient | Weekly per schedule | Up to 20 schedules | The schedule's stored next-run time |
| Scheduled social posts | Publishes posts whose time has arrived | Once, at the time you set | Up to 25 posts | The post's scheduled time has passed |
| Saved result cleanup | Removes saved results older than 90 days | Continuously | All expired rows | Age of the saved result |
| Subscription reconciliation | Matches your plan to your active subscription | On every scheduler pass | Your subscription | A difference between your plan and your subscription |
Important: Nothing above consumes your monthly credits. Background checks are run by the platform, not against your allowance. See Quotas and rate limits.
The first run of anything#
New automation behaves differently from established automation, and this accounts for a large share of "it did not alert me" questions.
| Automation | On creation | First alert possible |
|---|---|---|
| Competitor Monitor | A check runs immediately and stores a baseline snapshot | On the second check, because there is nothing to compare the first one against |
| Rank Alerts | A position check runs immediately and stores a baseline | On the second check, roughly 24 hours later |
| AI visibility drop alert | Nothing runs immediately | After two measured passes, because a drop needs a previous value |
| Scheduled report | The first run is set seven days ahead | At the first run, not on creation |
| Scheduled social post | Nothing runs until the scheduled time | At the time you set |
Timing settings you control#
| Setting | Where | Accepted range | Default | Notes |
|---|---|---|---|---|
| Check interval, per monitored URL | Competitor Monitor | 1 to 48 hours | 6 hours | The form offers Check every 1h, Check every 6h (recommended), Check every 12h and Check daily. Every URL added from the dashboard is stored on the six-hour default, so plan around a six-hour cycle |
| Severity gate, per monitored URL | Competitor Monitor | Low, Medium, High | Low | Not a timing setting, but it decides delivery. Only changes at or above the gate are sent to a Slack, webhook or email channel stored on that URL. Every change is recorded and shown in the app regardless. URLs added from the dashboard are stored at Low |
| Drop threshold, per rank alert | Rank Alerts | 1 to 20 positions | 5 | The form offers 3+ positions, 5+ positions, 10+ positions and Out of top 10. The last two both store 10 |
| Rank check interval | Rank Alerts | Not adjustable | 24 hours | The screen shows a Daily 06:00 UTC pill and a Next Auto Check countdown. There is no fixed hour: each keyword is re-checked 24 hours after its own last check, so both are a rough guide |
| Cadence, per schedule | Scheduled Reports | Weekly, Monthly, Daily | Weekly | Schedules created from the dashboard form run weekly, whichever label you pick, and the first run is seven days after creation. See Scheduled reports |
| Visibility delta threshold | AI Tracking Settings → Alerts | 10 to 99 points | 10 | Alerts are created for you on a paid plan at 10. Below 10 is measurement noise and is not accepted. See AI prompt tracking |
| Post time | Social Dashboard | Any time at least about a minute ahead | — | Published at or shortly after that time, never before |
Batch and volume limits#
These cap how much a single pass does. They are not caps on how much you can set up; work that does not fit in one pass is picked up by the next.
| Automation | Per-pass limit | What happens beyond it |
|---|---|---|
| Competitor Monitor | 50 URLs | The longest-waiting URLs are taken first, so the rest are checked on the next pass |
| Rank Alerts | 30 alerts | The remainder are checked on the next pass |
| AI visibility tracking | 2 brands, 8 prompts per brand | The most overdue brands are measured first, paid accounts ahead of everything else. A brand that misses a pass is more overdue on the next one, so it moves up the queue rather than being skipped |
| Scheduled Reports | 20 schedules | The rest run on the next pass |
| Scheduled social posts | 25 posts | Posts beyond the first 25 due publish on the next pass, a quarter of an hour later |
| AI visibility delta alert email | One per alert per 24 hours | A continuing move produces at most one email a day per alert |
What each plan can automate#
| Automation | Free | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|---|
| Competitor Monitor | Yes | Yes | Yes | Yes | Yes |
| Rank Alerts | Yes | Yes | Yes | Yes | Yes |
| Notifications feed and Alerts Hub | Yes | Yes | Yes | Yes | Yes |
| Editorial calendar | Yes | Yes | Yes | Yes | Yes |
| Scheduled social posts | Yes | Yes | Yes | Yes | Yes |
| AI visibility tracking and drop alerts | Needs credits to start | Yes | Yes | Yes | Yes |
| Scheduled reports | No | Yes | Yes | Yes | Yes |
Two entries need explaining.
Scheduled reports are the only automation behind a plan gate. On Free, creating one returns This feature requires the Starter plan. Your account is on Free. Upgrade to unlock it.
AI visibility tracking is weekly by default on every paid plan, with nothing to switch on. A brand joins the weekly rotation the moment you run Visibility Overview, Prompt & Question Research or Prompt Tracking on it, and an alert for it is created at the same time. Downgrade to Free and the rescans stop on the next pass; the enrolment is kept, so upgrading resumes them.
The Free plan has no monthly credit allowance, so the tool runs that start tracking cannot be paid for there in the first place. See Plans and pricing.
What is not capped#
There is no per-plan limit on how many of these you can create.
| Item | Limit on how many you can have |
|---|---|
| Monitored URLs | None |
| Tracked keywords with rank alerts | None |
| Scheduled reports | None, on a paid plan |
| Editorial calendar items | None |
| Tracked prompts per brand | None saved, though 8 are used per measured pass |
| AI visibility drop alerts | None |
| Scheduled social posts | None queued; the queue view shows the most recent 100 |
Volume affects timing, not permission. Two hundred monitored URLs on a six-hour interval still get through, because each pass takes the longest-waiting 50 and the scheduler runs four times an hour.
How long automated output is kept#
| Item | Kept for |
|---|---|
| Competitor changes in the notifications feed | 14 days |
| Rank drops in the notifications feed | 14 days |
| Scheduled report runs in the notifications feed | 14 days |
| Public link view summaries in the feed | While the share link exists, up to 10 links |
| Feed size | The 50 most recent items across all sources |
| Saved results, including automated ones | 90 days. See Tool limits and performance |
| AI visibility history exported from the app | The last 90 days |
| Scheduled social post queue | The most recent 100 posts |
| Rank position history | Retained; the trend is drawn from it |
What only looks automatic#
Being explicit here saves a long wait.
| Not automated | What actually happens |
|---|---|
The Scheduled stage in the editorial calendar | A label you apply. Nothing publishes. See Editorial workflow and calendar |
| A weekly digest email | The Weekly Digest preference is stored but no digest is sent. See Notification preferences |
| Webhooks as a screen of its own | Not built and no longer in the menu. Outbound Slack and JSON webhooks DO work, configured per monitored URL and per rank alert. See Webhooks |
| No-Code Automation | Not built and no longer in the menu |
| Tool runs on a timer | Only the automations listed at the top of this page run without you. Every other tool runs when you press its button |
| Alerts when a manual tool run finishes | Nothing is sent. The result appears on screen and in your library |
| Retrying a failed scheduled social post | There is no retry. Fix the connection and schedule again |
| Credit or quota warning emails | Not sent. The credits pill and the Account screen are the signals |
Reading a delay#
| You observe | Expected? | Explanation |
|---|---|---|
| A monitored URL checked 6 hours and 10 minutes ago | Yes | Its interval plus up to one scheduler cycle |
| A keyword last checked 25 hours ago | Yes | 24-hour interval plus up to one scheduler cycle |
| AI visibility measured 7 days and 4 hours ago | Yes | A brand becomes due at seven days and is picked up on the next pass, which runs about every 6 hours |
| A social post published 9 minutes after its time | Yes | Within one scheduler cycle |
| A monitored URL not checked for 2 days | No | See Why didn't my alert fire? |
| A schedule whose next run passed a day ago | No | See Why didn't my alert fire? |
A social post still Scheduled an hour after its time | No | See Why didn't my alert fire? |
See also
Was this article helpful?
Thanks — feedback noted for the docs team.