Skip to content
Get started
Getting started

Quickstart

Create your first scheduled AI task in minutes

This guide will walk you through creating your first scheduled AI task with 0ct. By the end, you’ll have an automated workflow running on your chosen schedule.

The fastest way to get started is through the 0ct dashboard.

  1. Navigate to Tasks in the sidebar
  2. Click New Task
  3. Give your task a name (e.g., “Daily News Summary”)

Describe what you want the AI to do:

Summarize the top 5 technology news stories from today.
For each story, provide:
- A one-sentence summary
- Why it matters
- Potential impact on the AI industry

Choose from available AI models. Models are ranked by:

  • Intelligence: General capability score
  • Tool Calling: Ability to use connected sources
  • Search: Web search capabilities

For most tasks, we recommend models with strong tool calling scores.

Choose when your task should run:

ScheduleExample
HourlyEvery 2 hours
DailyEvery day at 9:00 AM
WeeklyEvery Monday at 8:00 AM
One-timeFebruary 15, 2026 at 3:00 PM

Select where results should go:

  • Email: Enter recipient addresses
  • SMS: Add phone numbers
  • Webhook: Provide endpoint URL

Toggle your task to Active and it will run at the next scheduled time!


For programmatic control, use the 0ct TypeScript SDK.

Terminal window
npm install 0ct
import Oct from '0ct';
const client = new Oct({
apiKey: process.env.OCT_API_KEY
});
const task = await client.promptly.tasks.create({
name: 'Daily News Summary',
prompt: `Summarize the top 5 technology news stories from today.
For each story, provide:
- A one-sentence summary
- Why it matters
- Potential impact on the AI industry`,
modelId: 'openai/gpt-4o',
frequency: 'daily',
scheduledTime: '09:00',
isActive: true
});
console.log('Task created:', task.id);
// Create an email destination
const destination = await client.promptly.destinations.create({
name: 'My Email',
type: 'email',
config: {
recipients: ['me@example.com'],
subject: 'Daily News Summary'
}
});
// Attach to task
await client.promptly.tasks.update(task.id, {
destinations: [destination.id]
});

Don’t want to wait for the schedule? Trigger a run immediately:

const run = await client.promptly.tasks.run(task.id);
console.log('Run started:', run.id);
console.log('Status:', run.status);
const runs = await client.promptly.runs.list({
taskId: task.id,
limit: 5
});
for (const run of runs.data) {
console.log(`${run.id}: ${run.status}`);
if (run.output) {
console.log(run.output);
}
}

Now that you have a task running, explore more features: