Skip to main content
This guide walks you through creating your first agent with a registry connector, sending a message, and receiving a response. By the end, you will have a working end-to-end agent.
After completing this quickstart, you will have a working agent and know where to go next based on your use case.

Prerequisites

  • API access credentials (client ID and client secret, or an access token)
  • Development environment set up
  • Basic understanding of REST APIs
If you haven’t set up authentication, follow the Creating Clients and authentication quickstart guides first.
1

Create a project in the Corti Console

Start by creating a project in the Corti Console. This gives you a workspace and access to manage your clients and credentials.
2

Create your first agent

Use the Agentic API to create your first agent. You need an access token (obtained using your client credentials) and your tenant name.The example below creates a persistent agent with a registry connector (memory-expert) attached.
The response includes the agent’s id (a prefixed UUIDv7 like agt.0192f4c8-...). Save this ID for the next step.
3

Send a message

Send a message to your agent using the A2A HTTP+JSON binding. The response is either a Task (for longer work) or a Message (for quick responses).
4

Verify the response

Check the response to confirm your agent processed the message:
  • If the response contains a task, check task.status.state. A TASK_STATE_COMPLETED state means the task finished successfully. The agent’s response is in task.history (the last ROLE_AGENT message).
  • If the response contains a message, the agent responded directly. The text is in message.parts[0].text.
The response includes task.metadata.$usage.credits, reporting the credits used for the request. See Tracking credit consumption to attribute this to your own customers or features.

Next steps

Core concepts

Learn the fundamental building blocks: agents, connectors, tasks, messages, and contexts.

Connectors

Understand the five connector types and how to attach them to agents.

Send a message

Go deeper into message sending: blocking vs. non-blocking, DataParts, error handling.

Stream responses

Stream agent responses in real time via SSE.