<aside> 🧭
Navigation:
</aside>
The Agent Config defines the logic and interface of your agent. It includes the following key components:
GPT_4_TURBO).Each Deploy.AI agent is configured using a structured JSON object. Below is a simple, working example of an agent config:
{
"forms": {
"init": {
"fields": [
{
"name": "question",
"type": "textArea",
"label": "Your Question",
"value": "",
"example": "What are the top 3 insights from Q1 data?",
"validation": { "required": true },
"description": "Ask any question based on uploaded data."
}
]
}
},
"models": ["GPT_4_TURBO"],
"preset": {
"fields": []
},
"templates": {
"init": {
"user": "Answer the question: {{question}}",
"system": "Use context from uploaded files and respond clearly."
}
}
}
forms.init.fieldsThis section defines the UI that users will interact with. In this case, there's a single field where the user can enter a question. Key attributes include:
name: A unique ID for this field. This name will be used in prompt as a variable (e. g. {{question}} ) to dynamically add user’s input to the prompt.type: The kind of input (e.g., "textArea" for multi-line text).label: What the user sees as the field title.example: A sample input used for testing via the "Try It Now" feature for quick model testing. “Try It Now” will appear as a button in the chat environment, after all the agent fields will have filled in “example”. It saves time on providing input for agent’s testing.description: Guidance shown under the field to help users enter meaningful data.validation: Marks the field as required.modelsThis array specifies which AI model the agent should use. "GPT_4_TURBO" is a common default, but you can choose from other models listed in the AI Models section.
templatesThis is where you define the user prompt and system prompt:
user: Refers to the task or question passed from the user (usually with variables).system: Sets up the instructions for how the model should think and respond.Deploy.AI supports 2 main types of user interfaces for agents, and choosing the right one depends on the use case:
Chat agents simulate a natural conversation flow. They’re best for:
In chat agents, prompts drive the logic, and you can use techniques like RAG to inject external data context on-the-fly.
Unlike form-based agents, chat agents do not use a forms block in their config. Here’s a minimal working example of a chat-based agent using GPT_4_TURBO with a set of randomized welcome messages:
{
"models": [
"GPT_4_TURBO"
],
"welcomeMessages": [
{
"id": "1",
"text": "Hello! How can I assist you today?"
},
{
"id": "2",
"text": "Greetings! Ready to help you."
},
{
"id": "3",
"text": "Hi there! What can I do for you?"
},
{
"id": "4",
"text": "Welcome! Let's get started."
},
{
"id": "5",
"text": "Hi, ask me anything."
}
}
welcomeMessagesThis section contains greetings that rotate randomly when the user opens the chat.
This configuration allows developers to launch dynamic AI chatbots with conversational UX, custom logic, and optional RAG or function support.
Form-based agents use structured input fields, similar to a web form. They’re ideal for:
Each field you define will appear in the UI and map to a variable inside your prompt using double curly braces, e.g. {{question}}.
You can define the following input types in a form agent:
| Field Type | Description |
|---|---|
text |
Single-line text input |
textArea |
Multi-line text area |
select |
Dropdown menu |
multiselect |
Dropdown with multiple selection |
file |
File upload (PDF, DOCX, CSV, etc.) |
Field parameters include:
size: S, M, or L – controls the visual size of the fieldexample: Used for testing and pre-filling during developmentvalidation: Use { "required": true } to enforce completionplaceholder and description: Help guide users during inputHere’s a sample file upload field for use in an agent:
{
"name": "fileUpload",
"type": "file",
"label": "Upload your CSV",
"description": "Attach a CSV to analyze.",
"validation": { "required": true }
}
To reference the file contents in your prompt, use the field name in double curly braces inside of you “user”, or “system” prompt:
"Please analyze the uploaded data in **{{fileUpload}}** and extract the top trends."
This enables dynamic, context-aware responses driven by the user’s uploaded content.