Skip to main content
Automated tasks let a single Waker automatically execute work according to preset rules, with no human intervention. When a task doesn’t require multiple Wakers to collaborate, an automated task is a simpler, more direct choice than WakerFlow.

Differences Between Automated Tasks and WakerFlow

DimensionAutomated taskWakerFlow
ExecutorA single WakerMultiple Wakers collaborating
ComplexitySimple tasksMulti-step complex flows
Configuration methodForm fillingJavaScript script writing
Use caseScheduled inspection, event responseMulti-perspective review, pipeline processing
When you need multiple Wakers to collaborate or a multi-step flow, use WakerFlow instead.

Creating an Automated Task

Go to the “Automated Tasks” Tab on the Waker detail page, click the “Create Automated Task” button, and enter the creation form. Configuration options:
  • Name: The task name; use a name that clearly conveys the task content.
  • Workspace source: Select the project associated with the task; the Waker will execute in that project’s context.
  • Task description: Describe in detail the specific work the Waker needs to perform.
  • Execution mode: Select the Waker’s working mode, such as Coding / Research.
  • Trigger method: Scheduled / Event / API; see the descriptions of each trigger method below.
  • Advanced settings: Expand advanced settings to configure run parameters such as maximum number of runs and deadline.
After filling in the form, click “Save”; the task is created successfully and automatically executes according to the configured trigger method.

Scheduled Trigger

When creating an automated task, select “Scheduled Trigger” to display the Cron expression configuration area:
  • Visual configuration: Use dropdown menus to select the execution frequency (daily / weekly / monthly, etc.) and the specific time.
  • Cron expression: Supports directly entering a Cron expression for precise configuration.
  • Preview: After configuration, the interface shows a preview of the next execution time.
Common Cron expression examples:
ExpressionMeaning
0 9 * * 1-59 AM every weekday
0 */2 * * *Every 2 hours
0 0 * * 0Early Sunday morning
0 18 * * 56 PM every Friday

Event Trigger (Webhook)

After selecting “Event Trigger,” the interface displays the Webhook configuration area:
1

Select the event source type

Such as GitHub.
2

Get the Webhook URL

The system automatically generates a unique Webhook URL, displayed in the interface.
3

Configure it on the external platform

Copy the URL and configure it in the corresponding platform’s Webhook settings.
4

Select events to listen for

Select the event types to listen for, such as push, pull_request, etc.
5

Save

Click “Save” to complete the configuration.
When a configured event occurs, the external platform automatically calls the Webhook URL, triggering the Waker to execute the task.

API Trigger

Trigger tasks programmatically via HTTP API, suitable for integration into external systems or CI/CD pipelines. After configuring an API trigger, the system generates a unique invoke_key, which can be copied from the task detail page. Authentication: Uses a PAT (Personal Access Token). Obtain one at: Qoder console → Personal Settings → Service Integration → New Token. Example call:
curl -X POST 'https://api.qoder.com/v1/qoderwake/automation/invoke/<invoke_key>' \
  --header 'Authorization: Bearer pt-your-token-here' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "Please analyze this issue",
    "repo_name": "my-project",
    "wakeSessionUniqueId": "issue-123"
  }'
Parameters:
ParameterTypeRequiredDescription
Business fieldsanyNoInjected via {{field}} placeholders in the task description
wakeSessionUniqueIdstringNoSession reuse identifier; the same value reuses the same session

Variable Placeholders

Define {{variable}} placeholders in the task description; fields passed via the API are substituted into the corresponding positions. When no placeholders are defined, the request body is appended as raw JSON after the prompt (using placeholders is recommended). Example: Task description: Please review the {{branch}} branch of {{repo_name}}. {{prompt}}, called with {"repo_name": "my-project", "branch": "main", "prompt": "check for vulnerabilities"}, actual execution: Please review the main branch of my-project. check for vulnerabilities Syntax: {{name}} direct field / {{a.b}} nested field / {{items[0].name}} array index. Missing fields leave the placeholder as-is; paths are case-sensitive.

Session Reuse (wakeSessionUniqueId)

Passing the same wakeSessionUniqueId reuses the same session, enabling multi-turn contextual conversations:
  • Same value → reuses the session, messages appended | omitted/empty → creates a new session each time
  • Multiple calls with the same ID are processed serially in FIFO order
  • Scoped to the same user + same automated task
  • Recommended to use business IDs such as ticket numbers or PR numbers as the value

Run Management

Created automated tasks support the following management operations:
  • Enable / Pause: Control via the toggle in the task list.
  • Run now: Click the “Run Now” button to the right of a task to skip the trigger condition and execute once manually.
  • Run history: Click the task name to enter its details and view the time, status, duration, and output of each execution.
  • Modify configuration: Click the edit button to update the trigger rules, task description, etc.
  • Delete task: Click the delete button to remove tasks you no longer need.