Build Your First Agent: Support Email Classifier
A complete walkthrough, from sign-up to a live HTTPS endpoint you can call from any backend. Plan for 10–15 minutes.
By the end you will have:
- A PrompTick account, a project, and a saved prompt
- A small test set that proves the prompt behaves on real inputs
- A deployed agent pinned to a specific prompt version
- An API key and working cURL calls that classify incoming support emails
The example we build is a support email classifier that takes the raw body of a customer email and returns one of billing, technical, feedback, or other, plus a one-sentence summary.
1. Create your account
PrompTick uses email one-time codes — there is no password to manage.
- Go to promptick.ai and click Sign up.
- Enter your work email. You will receive a 6-digit code.
- Paste the code to finish signing in. Your session is created.
Sign-in is email-only; there is no password to recover. If you need to sign in from another device, request a fresh code there.
2. Create a project
Projects group related prompts and agents together.
- From the dashboard, open Projects and click New Project.
- Name it
Support Triageand click Create.
3. Generate the prompt
Open Playground (or the Generate Prompt action inside your project).
In the brief field, describe the task in natural language. For this tutorial, paste:
Classify an inbound customer support email into one of four categories —
billing,technical,feedback,other— and write a one-sentence summary of what the customer is asking for. Respond with strict JSON:{ "category": "...", "summary": "..." }.
Click Generate. PrompTick runs a two-agent workflow (analysis, then generation) and streams the result back. You get:
- A system prompt that sets the classifier role and output contract
- A user prompt template with a variable such as
{{email_body}} - A list of suggested variables with sample values
Review the output. If something is off, click Improve Prompt and describe what to change — this runs a three-agent improvement workflow against the current draft.
When you are happy, click Save to Library, pick the Support Triage project, and give the prompt a name like support-email-classifier. This creates version 1.
4. Test the prompt
Bulk testing is gated behind the Testing Framework feature, available on Pro and above. If you are on the Free tier you can still run single executions from the Playground — skip to step 5 and come back later.
- Open the prompt in your project and switch to the Tests tab.
- Create a new Test Set with 3–5 rows. For each row, provide a value for
email_bodyand thecategoryyou expect. For example:- "My invoice says $99 but my plan is $49. Please check." →
billing - "The dashboard is stuck on the loading spinner in Safari." →
technical - "Love the new export feature — can you add CSV too?" →
feedback
- "My invoice says $99 but my plan is $49. Please check." →
- Click Run Tests. PrompTick queues a bulk evaluation and streams results back as each row completes: pass/fail per row, latency, and token usage.
- Iterate on the prompt until the test set passes. Each improvement saves as a new version.
See Features → Testing for grading modes and larger suites.
5. Deploy as an agent
An agent wraps a specific prompt version behind a stable ID and API surface.
- Open the prompt and click Deploy as Agent, or go to Agents → New Agent.
- Name it
support-email-classifier. - Pin the version you tested. The agent will keep using that version until you deliberately promote a new one — new prompt edits do not auto-deploy.
- Enable API access.
- Save. You now have an
agentIdshown on the agent page.
See Agents → Version Management for the pinning model.
6. Create an API key
API keys are created from the UI, by the agent's creator only. They are hashed at rest — you see the plaintext once.
- On the agent page, open API Keys → Create New API Key.
- Give it a name (e.g.
helpdesk-webhook-prod), optionally set rate limits, and create. - Copy the key — it starts with
pk_live_. Store it in your secret manager. If you lose it, revoke and create a new one.
See Agents → API Keys for rotation and scopes.
7. Call the agent
Agent executions are asynchronous: you submit a request, get an executionId, and poll until it finishes.
Submit an execution
curl -X POST "https://promptick.ai/api/v1/agents/YOUR_AGENT_ID/execute" \
-H "Authorization: Bearer pk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"variables": {
"email_body": "Hi team, my invoice says $99 but I thought I was on the $49 plan. Can you check?"
}
}'
You get back 202 Accepted:
{
"success": true,
"executionId": "b6f1c0e2-4a11-4f7a-9e0d-...",
"agentId": "YOUR_AGENT_ID",
"agentName": "support-email-classifier",
"status": "processing",
"message": "Agent execution started",
"statusUrl": "/api/v1/agents/YOUR_AGENT_ID/executions/b6f1c0e2-..."
}
Poll for the result
curl "https://promptick.ai/api/v1/agents/YOUR_AGENT_ID/executions/EXECUTION_ID" \
-H "Authorization: Bearer pk_live_YOUR_KEY"
While running:
{
"executionId": "b6f1c0e2-...",
"agentId": "YOUR_AGENT_ID",
"status": "processing",
"percentage": 60,
"currentStep": "Running model"
}
When complete:
{
"executionId": "b6f1c0e2-...",
"agentId": "YOUR_AGENT_ID",
"status": "completed",
"percentage": 100,
"currentStep": "Done",
"output": "{\"category\":\"billing\",\"summary\":\"Customer was charged $99 but expected $49 and wants the invoice reviewed.\"}",
"tokensUsed": 412,
"costUSD": 0.00021,
"latencyMs": 1840,
"executedAt": "2026-04-16T09:12:04.221Z"
}
A simple poll loop (every 1–2 seconds, with a timeout) is enough for most production integrations. For long-running agentic workflows, widen the interval.
8. What to do next
- Wire it into your helpdesk — on every inbound ticket, call
/execute, poll until complete, writeoutput.categoryto the ticket. - Promote new versions deliberately — edit the prompt, re-test, then repoint the agent. Old versions keep working for in-flight executions.
- Monitor usage — see Agents → Execution History for per-agent logs, tokens, and latency.
- Give your team access — if multiple people will manage agents, create an Organization.