Configuring AI Nodes
How to set up and configure AI Prompt and AI Agent nodes
This guide covers how to configure AI Prompt and AI Agent nodes for different use cases.
AI Prompt Configuration
Basic Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | enum | Yes | Model tier (low, medium, high) |
| messages | array | Yes | Messages array with role and content |
| return_type | enum | Yes | Output type (string, integer, boolean, etc.) |
Messages Array
The messages array defines what the AI processes:
[
{
"role": "system",
"content": "You are a meeting analyst. Extract key information accurately."
},
{
"role": "user",
"content": "{{ json.callRecording.transcriptSummary }}"
}
]
Message Roles
System Message
- Sets the AI's persona and behavior
- Provides instructions for the task
- Should be clear and specific
You are a professional meeting summarizer.
- Be concise (2-3 sentences max)
- Focus on decisions and action items
- Use bullet points for lists
User Message
- Contains the data to process
- Uses Liquid templates for dynamic content
- Should include all relevant context
Summarize this meeting:
Title: {{ json.meeting.title }}
Date: {{ json.meeting.startTime | date: "%B %d, %Y" }}
Attendees: {{ json.meeting.attendees | map: "name" | join: ", " }}
Summary:
{{ json.callRecording.transcriptSummary }}
Assistant Message (Optional)
- Provides example outputs (few-shot learning)
- Helps guide the expected format
Example output:
The team discussed Q4 planning. Key decisions included...
Return Types
| Type | Description | Output Access |
|---|---|---|
string | Text response | {{ json.value }} |
integer | Whole number | {{ json.value }} |
boolean | True/false | {{ json.value }} |
float | Decimal number | {{ json.value }} |
string_list | Array of strings | {% for item in json.value %} |
integer_list | Array of integers | {% for item in json.value %} |
boolean_list | Array of booleans | {% for item in json.value %} |
float_list | Array of decimals | {% for item in json.value %} |
AI Agent Configuration
Basic Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | enum | Yes | Model tier (low, medium, high) |
| messages | array | Yes | Messages array with role and content |
| tools | array | No | Tools the agent can use |
| return_type | enum | Yes | Output type |
Available Tools
| Tool | Purpose |
|---|---|
list | List files in the deal room |
search | Search deal room content |
open | Read deal room documents |
web_search | Search the web for information |
Tool Configuration
{
"tools": ["search", "open", "web_search"]
}
List Tool
- Lists available files in the deal room
- Useful for discovering what's available
Search Tool
- Searches across deal room content
- Returns relevant excerpts
Open Tool
- Reads full content of specific documents
- Use after searching to get details
Web Search Tool
- Searches the public web
- Useful for company research, industry context
Agent Instructions
When configuring an AI Agent, be explicit about tool usage:
You are a research assistant with access to deal room documents and web search.
Task: Research the prospect company and prepare a briefing.
Available tools:
- Use 'search' to find relevant documents in the deal room
- Use 'open' to read specific documents
- Use 'web_search' to find recent news and company information
Steps:
1. Search the deal room for any existing information about the company
2. Search the web for recent news and updates
3. Compile your findings into a structured briefing
Execution Modes
Per-Item Mode
Processes each input item independently:
[Select Many: attendees] ──▶ [AI: Generate personalized message]
Each attendee gets a separate AI call with their specific data.
Batch Mode
Processes all items together:
[Load items] ──▶ [AI: Summarize all items together]
All items are available in a single AI call.
When to use which:
| Mode | Use When |
|---|---|
| Per-item | Each item needs individual processing |
| Batch | Items need to be analyzed together |
| Per-item | Generating individual outputs |
| Batch | Creating aggregate summaries |
Common Configurations
Meeting Summary
model: medium
return_type: string
messages:
- role: system
content: |
Summarize the meeting in 2-3 sentences.
Focus on decisions made and next steps.
- role: user
content: |
Meeting: {{ json.meeting.title }}
{{ json.callRecording.transcriptSummary }}
Action Item Extraction
model: medium
return_type: string_list
messages:
- role: system
content: |
Extract action items from this meeting.
Return as a list of clear, actionable tasks.
Each item should start with an action verb.
- role: user
content: |
{{ json.callRecording.transcriptSummary }}
Urgency Classification
model: low
return_type: boolean
messages:
- role: system
content: |
Determine if this meeting requires urgent follow-up.
Return true if urgent, false otherwise.
Urgent indicators:
- Customer expressed concerns
- Deal at risk mentioned
- Immediate action required
- role: user
content: |
{{ json.callRecording.transcriptSummary }}
Sentiment Score
model: low
return_type: integer
messages:
- role: system
content: |
Rate the overall sentiment of this meeting.
Return a score from 1-10.
1 = Very negative, 10 = Very positive
- role: user
content: |
{{ json.callRecording.transcriptSummary }}
Research with Agent
model: high
return_type: string
tools: [search, open, web_search]
messages:
- role: system
content: |
You are a sales research assistant.
Research the prospect company and create a briefing.
Include:
- Company overview
- Recent news
- Potential talking points
- Any concerns or opportunities
- role: user
content: |
Prospect: {{ json.company.name }}
Website: {{ json.company.website }}
Error Handling
Timeout Handling
AI nodes have a 120-second timeout. To avoid timeouts:
- Use
transcriptSummaryinstead of full transcripts - Keep prompts concise
- Use lower model tiers for simple tasks
- Split complex tasks into multiple nodes
Parse Errors
If the AI output doesn't match the expected type:
- Error is sent to the error output
- Review prompt instructions
- Consider adding output format examples
- Use simpler return types when possible
Configuring Error Paths
Always connect error outputs for AI nodes:
[AI Prompt]
├── Success ──▶ [Use output]
└── Error ────▶ [Fallback or notify]
Performance Tips
1. Minimize Input Size
❌ Slow:
{{ json.callRecording.transcript }}
✅ Fast:
{{ json.callRecording.transcriptSummary }}
2. Use Appropriate Model Tier
| Task | Recommended Tier |
|---|---|
| Yes/no classification | Low |
| Simple extraction | Low |
| Standard summarization | Medium |
| Content generation | Medium |
| Complex analysis | High |
| Multi-step reasoning | High |
3. Be Specific in Instructions
❌ Vague:
Summarize this meeting.
✅ Specific:
Summarize this meeting in 2-3 sentences.
Focus on: 1) Key decisions, 2) Action items, 3) Next steps.
Do not include pleasantries or small talk.
4. Provide Output Examples
System: Extract action items from this meeting.
Format each item as:
"[Owner] will [action] by [date]"
Example:
"John will send the proposal by Friday"
"Sarah will schedule the follow-up call this week"