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

# Get your first labeled dataset

> Label 10 support tickets by intent and download the results.

In about 15 minutes you will label 10 customer support tickets by intent as a question, a complaint, or praise, then download the labeled dataset. Describe the task in plain English. The agent builds the [pipeline](/docs/start/glossary.md#pipeline) — the connected set of nodes that labels your data — and you launch it without configuring anything by hand. Use the supplied data and prompt exactly as shown.

## Before you start

You need:

* An account you can sign in to, with any verification requested in the app completed.
* **Full access** to the selected team. If you belong to several teams, [switch to a writable team](/docs/core/teams-and-balance.md#switch-teams) before choosing Data labeling. Read-only members cannot create a project.
* A team with a funded balance. This run itself costs nothing: it labels by simple rules, with no experts and no language model, so its cost breakdown comes to zero — you will see that in the cost window before you launch. A run still cannot deploy on an empty balance, so any balance of at least \$0.01 covers it. See [Billing](/docs/core/billing.md#pipeline-runs).
* The demo dataset below, saved to your computer.

Save these 10 support tickets as a file named `support-tickets.json`:

```json theme={null}
[
  { "ticket_text": "Hi, how do I reset my password? I can't find the option anywhere." },
  { "ticket_text": "This is the third time my order arrived damaged. I'm furious." },
  { "ticket_text": "Just wanted to say your support team was incredibly helpful today, thank you!" },
  { "ticket_text": "What are your business hours on weekends?" },
  { "ticket_text": "The app keeps crashing every time I open the checkout page. Please fix this." },
  { "ticket_text": "Amazing product, it has saved me hours every week. Great job!" },
  { "ticket_text": "Can I change the shipping address after placing an order?" },
  { "ticket_text": "I was charged twice for the same subscription and nobody is responding." },
  { "ticket_text": "Do you offer student discounts?" },
  { "ticket_text": "The new dashboard update is fantastic, much easier to use now." }
]
```

Each line is one ticket. The text lives in a field called `ticket_text`. You will refer to that field by name when you describe the task.

> [!NOTE]
>
> You need no API key for this tutorial, or even on the language-model path. The platform runs the models for both LLM labeling and its quality review. A key of your own only comes into play when a node calls an outside service you control.

## Step 1 — Sign in

Sign in with your account. On your first sign-in, choose **Pay to have tasks done for my business**, then **Company (legal entity)** or **Individual**, and complete the registration form.

> [!NOTE]
>
> Depending on your email address, the platform may review your sign-up first. The form is titled **Tell us about your project** and asks you to **Describe your project goal**. Click **Submit request**. The **Request sent** screen appears while the team reviews it, and the platform emails you when the team approves or declines the request. After approval, sign in again to open your team's project list. If the request is declined, or sign-ups are closed for your email address, the platform shows **We can’t provide access**.

Once registered, the home screen asks **What do you need done?** and shows the available products. With more than one team, the platform picks one for you automatically. There is no team-choosing screen.

If you land in the older workspace instead because you used the previous version of the product, find the **Develop your project using pipelines** card, badged **new** in the bottom-left sidebar, and click its black **Switch to v2** button.

![The "Switch to v2" button in the bottom-left sidebar card — only shown if you land in the older workspace](https://mintcdn.com/toloka-platform/6sEsqvkMK1PwEvU6/images/tutorial/first-labeled-dataset/switch-to-v2.png?fit=max\&auto=format\&n=6sEsqvkMK1PwEvU6\&q=85\&s=81a98cb60badf2fe6d8aa46f08a6c414)

## Step 2 — Choose Data labeling

On the home screen, click **Data labeling**. This creates a draft project and opens **Let’s set your task**. A project holds your data, your chat with the agent, and the pipeline the agent builds inside it. A draft that stays empty for more than a day is [deleted automatically](/docs/core/projects.md#empty-draft-projects).

![The home screen with the Data collection and Data labeling choices](https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/tutorial/first-labeled-dataset/use-case-cards.png?fit=max\&auto=format\&n=e2y6apyB8pyO00uJ\&q=85\&s=23b930f60cb44cd2538a2598367bb760)

## Step 3 — Describe the task and attach the data

On **Let’s set your task**, use **Add datasets, presentations, examples** to attach `support-tickets.json`, then type this task into the message box exactly:

> Label each support ticket in the attached file by its intent. Read the `ticket_text` field and assign one label: `question`, `complaint`, or `praise`. Use simple rules, not a language model — no API key needed. Add the label as a new field called `intent`.

Click **Continue →** to submit. Pressing Enter in the box only adds a line break.

Your project opens, and the agent drafts a plan from your description. From here you talk to the agent in the chat on the project page. If it asks how to do the labeling, confirm you want **simple rules, no language model and no API key**.

Open the **Plan** card and check that it uses the attached tickets, simple rules, and an `intent` output. If something is wrong, leave feedback and click **Send comments**. When the plan is right, click **Approve**. Nothing is built until you approve; approval starts the pipeline build. See [Review and approve the plan](/docs/data/recipes/agentic-project.md#step-4--review-and-approve-the-plan) for the controls.

## Step 4 — Let the self-check pass

After the agent builds the pipeline, ask it to run **Code Test** on representative tickets and check that the rules return the expected intent. **Dataset Items Lint** also checks the selected tickets automatically. Review the results on the Code node's **Code Test** card before deploying; see [Self-check](/docs/data/concepts/self-check.md).

Failed checks block deployment. If a check fails, send the agent this message and wait for the checks to pass:

> The self-check did not pass. Please fix the pipeline so the checks pass, still using simple rules and no language model.

## Step 5 — Deploy the pipeline

Open the **Pipeline** tab and click **Deploy** in the bottom toolbar. The **Items** tab appears after deployment finishes.

![The Deploy button in the Pipeline tab bottom toolbar](https://mintcdn.com/toloka-platform/6sEsqvkMK1PwEvU6/images/tutorial/first-labeled-dataset/deploy-control.png?fit=max\&auto=format\&n=6sEsqvkMK1PwEvU6\&q=85\&s=32ad41a4f76138f1050beac03cb1d264)

A window titled **Cost breakdown (forecast)** opens, showing the cost for this run. Tick the consent checkbox (*I have reviewed all project settings and the cost breakdown…*), then click **Confirm and deploy**. The button stays disabled until the box is ticked.

![The Cost breakdown window with the consent checkbox and Confirm and deploy button](https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/tutorial/first-labeled-dataset/deploy-cost-consent.png?fit=max\&auto=format\&n=e2y6apyB8pyO00uJ\&q=85\&s=f2764bdff4f092588caf184d6a98c3bb)

This run is free because 10 items are labeled by simple rules, with no human reviewers and no language model. The cost breakdown comes to zero and the run finishes quickly.

> [!NOTE]
>
> **If the Issues window opens instead.** On a brand-new pipeline that has not been run, a check may flag *has not been run* before the cost window. Tick **I want to deploy with unresolved warnings** and click **Deploy**. If Code Test has run and the lints have finished, **Deploy** takes you straight to the cost window.

## Step 6 — Watch it finish

Open the **Items** tab to see the progress of every item in your dataset. The run is done when a green **100% Finished** bar appears and the counter chips read **completed: 10 / canceled: 0 / failed: 0 / paused: 0 / in\_progress: 0**. Wait for **completed: 10**. Every ticket is then labeled. The other chips count states this run should not hit — [Resume or cancel a pipeline run](/docs/data/guides/pause-resume-cancel.md) explains paused and canceled items, and [Export your labeled results](/docs/data/guides/export-results.md) lists every status an item can end in.

![The Items tab showing 100% Finished and completed: 10](https://mintcdn.com/toloka-platform/6sEsqvkMK1PwEvU6/images/tutorial/first-labeled-dataset/items-finished.png?fit=max\&auto=format\&n=6sEsqvkMK1PwEvU6\&q=85\&s=f5be455fb4beb1e2cf3ec295e360eb19)

## Step 7 — Export and download your labeled file

Click **Export outputs** in the top-right of the **Items** tab to open the **Exports** popover, then click **New export**. A **completed** row appears with a download icon. Click it to download your labeled file.

Open the file: one row per ticket, each with its position (`index`), its `status`, the original ticket under `input`, and the label your pipeline produced under `output`. For example:

```json theme={null}
[
  {
    "index": 1,
    "status": "completed",
    "input": { "ticket_text": "Hi, how do I reset my password? I can't find the option anywhere." },
    "output": { "intent": "question" }
  },
  {
    "index": 2,
    "status": "completed",
    "input": { "ticket_text": "This is the third time my order arrived damaged. I'm furious." },
    "output": { "intent": "complaint" }
  },
  {
    "index": 3,
    "status": "completed",
    "input": { "ticket_text": "Just wanted to say your support team was incredibly helpful today, thank you!" },
    "output": { "intent": "praise" }
  }
]
```

The label sits under `output` in a field named `intent`, the field name you asked for in your task. That downloaded file is your first labeled dataset.

## Next steps

This tutorial used a node that labels by simple rules, with no expert time or language model. It proves the workflow. The product's real labeling paths are expert labeling and LLM labeling with automated quality review.

* [How data labeling works](/docs/data/concepts/overview.md) explains how the pieces fit together.
* [Train your first model](/docs/train/get-started/first-trained-model.md) trains a model on the same 10 tickets from the command line and downloads the result.
* [Pipeline nodes reference](/docs/data/reference/nodes.md) lists every kind of node.
* [Label with an LLM instead of experts](/docs/data/guides/synthetic-labeling.md) covers the LLM labeling path with automated quality review.
* [Export your labeled results](/docs/data/guides/export-results.md) returns to your downloaded file.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.