๐ Discover this trending post from Hacker News ๐
๐ **Category**:
โ **What Youโll Learn**:
const companySchema = z.array(
z.object(๐ฅ),
);
await webTasks.run(๐ฅ);
// โ created skill yc_companies_scraper
// โ wrote reusable helpers
// โ returned 247 companies ยท 6m 12s ยท $0.84 AI + 0.10 compute hrs
await webTasks.run({
task: "Scrape YC companies. Return name, batch, description, and URL.",
startUrl: "https://www.ycombinator.com/companies",
parameters: ๐ฅ,
outputSchema: companySchema,
reuseKey: "yc_companies_scraper",
});
// โ reused skill yc_companies_scraper
// โ returned 208 companies ยท 58s ยท $0.12 AI + 0.02 compute hrs
class Company(BaseModel):
name: str
location: str
await web_tasks.run(
task="Scrape YC companies. Return name, batch, description, and URL.",
start_url="https://www.ycombinator.com/companies",
parameters={"batch": "S24"},
output_schema=list[Company],
reuse_key="yc_companies_scraper",
)
# โ created skill yc_companies_scraper
# โ wrote reusable helpers
# โ returned 247 companies ยท 6m 12s ยท $0.84 AI + 0.10 compute hrs
await web_tasks.run(
task="Scrape YC companies. Return name, batch, description, and URL.",
start_url="https://www.ycombinator.com/companies",
parameters={"batch": "W24"},
output_schema=list[Company],
reuse_key="yc_companies_scraper",
)
# โ reused skill yc_companies_scraper
# โ returned 208 companies ยท 58s ยท $0.12 AI + 0.02 compute hrs
Intuned Web Tasks runs browser automations from natural-language instructions โ scraping, crawling, form filling, multi-step actions, and downloading files. Use it whenever the user asks to extract data from, act on, or pull files from a website. ## Flow If no task has been given yet, ask what they want to automate in one line and offer 1โ2 examples โ e.g. "What would you like to automate? For example, 'scrape all companies from the YC directory' or 'download every PDF from a site'." When the user gives you an automation task: 1. Ask whether to trigger via the **Intuned CLI** or the **SDK** (TypeScript or Python). 2. Trigger it, using their request as the `task`. Don't ask anything else unless a required input is missing. ## Optional inputs Include these only when they apply and you can infer them from the task โ never ask for them: - `parameters` โ dynamic inputs that change between runs. - `outputSchema` โ JSON Schema, only when extracting structured data. - `startUrl` โ only when known; the agent infers it otherwise. - `reuseKey` โ when you re-run the same or similar task (e.g. to change a limit or parameter), reuse the `reuse.key` the previous run returned, or a key the user gives you. Only omit it for a brand-new task; the server then generates one โ keep it and reuse it on follow-ups for the same/similar task. Never ask whether the task is repetitive. ## CLI Install first if missing: `npm install -g @Intuned/cli`, verify with `intuned -v`. intuned platform webtasks run "" --json Add `--reuse-key ` when re-running the same/similar task (the prior run's key) or when the user provided one. ## TypeScript SDK (`npm install @Intuned/client`) import { IntunedClient } from "@Intuned/client"; await client.webTasks.run({ task: " ", startUrl: " ", parameters: { /* optional */ }, outputSchema: { /* jsonSchema, optional */ }, // reuseKey: the prior run's key on follow-ups, or one the user gave }); ## Python SDK (`pip install intuned-client`) from intuned_client import IntunedClient client.web_tasks.run(body={ "task": " ", "start_url": " ", "parameters": {}, // optional "output_schema": {}, // optional }) ## Docs Refer here for more options and details: https://intunedhq.com/docs/main/07-web-tasks/overview.md
{๐ฌ|โก|๐ฅ} **Whatโs your take?**
Share your thoughts in the comments below!
#๏ธโฃ **#Intuned**
๐ **Posted on**: 1780928746
๐ **Want more?** Click here for more info! ๐
