> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create tasks from templates

> Search the Octoparse template catalog, inspect normalized parameters, and create, preview, or update template-based tasks from the CLI.

Use templates when the Octoparse catalog already contains a workflow for the website or data source you need.

<Note>
  Template commands require configured credentials in CLI v0.1.33 and later. Run `octoparse auth login` before searching or inspecting templates.
</Note>

## Search the template catalog

```bash theme={null}
octoparse template search "Amazon" --page 1 --page-size 20
octoparse template search "Google Maps" --sort 1 --json
```

Template search uses the same catalog and default ranking as the Octoparse website.

## Inspect a template

```bash theme={null}
octoparse template view <templateId>
octoparse template version <templateId> --json
```

Use `template view` to review normalized parameters and generated creation examples before creating a task.

<Note>
  CLI commands and public JSON output use `templateId`. `templateRegistrationId` is an internal API field and should not be used in CLI integrations.
</Note>

## Create a template task

Pass simple values with repeated `--param` flags:

```bash theme={null}
octoparse template-task create <templateId> \
  --name "My template task" \
  --param keyword=laptop \
  --param country=US \
  --json
```

For structured parameters, pass JSON directly or use a file:

```bash theme={null}
octoparse template-task create <templateId> --params '{"keyword":"laptop"}' --json
octoparse template-task create <templateId> --params-file params.json --json
```

Preview the request without creating a remote task:

```bash theme={null}
octoparse template-task create <templateId> --params-file params.json --dry-run --json
```

## Update template parameters

```bash theme={null}
octoparse template-task update <taskId> --params-file params.json --yes --json
```

Updating a template task changes remote state and requires `--yes`.

## What's next

<CardGroup cols={2}>
  <Card title="Manage tasks" href="tasks-and-groups">
    List, rename, move, copy, and validate the task you created.
  </Card>

  <Card title="Run locally" href="local-runs">
    Run the template task with the embedded local engine.
  </Card>
</CardGroup>
