Skip to main content

Autonomous Skills

Autonomous skills support scheduled work and configured health monitors on compatible hosts. Availability depends on the installed release, operator setup and action policy.

Scheduled work and monitors​

Schedules use five-field cron expressions. Monitors run an explicitly configured check and can report a matching condition. Review a monitor's commands and notification destination before enabling it.

Operators can use VRAI_SKILL_MONITOR_ENABLED=0 to disable monitor activity, VRAI_SKILL_MONITOR_CHECK_INTERVAL_MS to set its minimum cadence, and VRAI_SKILL_MONITOR_ALLOWED_COMMANDS to allow exact executable paths. An absent allowlist does not grant arbitrary command execution.

Webhooks​

New event-hook creation is currently unavailable through assistant and messaging channel tools. Production app-skill webhook ingress is not supported. A listed hook or callback URL is not proof that it can deliver an event.

Existing callback URLs contain bearer credentials. Do not put them in chats, logs, screenshots or support bundles. Revoke older hooks created before the current security update and rotate a hook after suspected exposure. Use an available trusted operator control for credential-bearing operations; do not paste a raw token into assistant tools as a workaround.

Optional channel heartbeats​

Heartbeats are off by default. An operator must choose an explicit supported connector and conversation. They do not infer a destination from the most recent chat. The chosen conversation must already be known to the channel integration.

Example operator setting:

{"enabled":true,"every":"30m","target":{"connector":"telegram","chatId":"<explicit-chat-id>"},"activeHours":{"start":"08:00","end":"22:00","timezone":"UTC"},"ackMaxChars":300}

Use the channel_heartbeat setting or its VRAI_CHANNEL_HEARTBEAT_JSON override. Intervals default to 30 minutes. Active hours support UTC and fixed UTC offsets; IANA daylight-saving timezones are not supported. Invalid settings report an error instead of selecting a different destination.

An optional HEARTBEAT.md describes what to check. An empty checklist, quiet hours, a busy conversation or unavailable transport can skip a run. A normal “nothing needs attention” response can remain silent. A heartbeat does not grant new tool access or approval to send other messages.

Inspect the last result and next due time in Cron Center, Web Tasks, or terminal /cron. Edit operator configuration to change a managed heartbeat. If an attempt is held for approval or has an uncertain outcome, review that attempt before trying again; configuration changes do not authorize a replay.