Skip to content
Get started

Create a worker template

client.workers.create(WorkerCreateParams { instructions, outputSchema, prompt, 3 more } body, RequestOptionsoptions?): WorkerTemplate { id, createdAt, instructions, 8 more }
POST/api/workers

Create a new worker. The worker is a reusable agent template; tasks are runs against this template. Use POST /tasks to actually run the agent.

ParametersExpand Collapse
body: WorkerCreateParams { instructions, outputSchema, prompt, 3 more }
instructions?: string

Persistent system prompt the worker uses for every task it runs.

maxLength20000
outputSchema?: Record<string, unknown>

Optional JSON Schema (Draft-07) describing the structured object the worker must produce. When set, every task response is validated against the schema and exposed as structuredOutput.

prompt?: string

Natural-language description of the worker to use for AI-generated instructions when instructions is omitted.

maxLength10000
summary?: string

Short one-line description of the worker’s purpose. Auto-generated when omitted and a prompt is provided.

maxLength80
title?: string

Optional display name. When omitted, Handinger assigns a random dog-themed name.

minLength1
maxLength200
visibility?: "public" | "private"

public (default) is visible to all org members. private is only visible to invited members.

One of the following:
"public"
"private"
ReturnsExpand Collapse
WorkerTemplate { id, createdAt, instructions, 8 more }
id: string
createdAt: string | null
instructions: string
organizationId: string
outputSchema: Record<string, unknown> | null
summary: string
title: string
updatedAt: string | null
url: string

Web URL of the worker in the Handinger dashboard.

userId: string
visibility: "public" | "private"
One of the following:
"public"
"private"

Create a worker template

import Handinger from '@ramensoft/handinger';

const client = new Handinger({
  apiKey: process.env['HANDINGER_API_KEY'], // This is the default and can be omitted
});

const workerTemplate = await client.workers.create({
  prompt: 'A worker that fact-checks short claims and returns a verdict with citations.',
});

console.log(workerTemplate.id);
{
  "id": "id",
  "createdAt": "createdAt",
  "instructions": "instructions",
  "organizationId": "organizationId",
  "outputSchema": {
    "foo": "bar"
  },
  "summary": "summary",
  "title": "title",
  "updatedAt": "updatedAt",
  "url": "https://v3.handinger.com/worker/wrk_vk81XUHKHG-qr4",
  "userId": "userId",
  "visibility": "public"
}
Returns Examples
{
  "id": "id",
  "createdAt": "createdAt",
  "instructions": "instructions",
  "organizationId": "organizationId",
  "outputSchema": {
    "foo": "bar"
  },
  "summary": "summary",
  "title": "title",
  "updatedAt": "updatedAt",
  "url": "https://v3.handinger.com/worker/wrk_vk81XUHKHG-qr4",
  "userId": "userId",
  "visibility": "public"
}