Intuned

๐Ÿš€ 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! ๐ŸŒŸ

By

Leave a Reply

Your email address will not be published. Required fields are marked *