Search documentation

Search for pages in the documentation

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

ParameterTypeRequiredDescription
modelenumYesModel tier (low, medium, high)
messagesarrayYesMessages array with role and content
return_typeenumYesOutput type (string, integer, boolean, etc.)

Messages Array

The messages array defines what the AI processes:

json
[
  {
    "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
liquid
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
liquid
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
liquid
Example output:
The team discussed Q4 planning. Key decisions included...

Return Types

TypeDescriptionOutput Access
stringText response{{ json.value }}
integerWhole number{{ json.value }}
booleanTrue/false{{ json.value }}
floatDecimal number{{ json.value }}
string_listArray of strings{% for item in json.value %}
integer_listArray of integers{% for item in json.value %}
boolean_listArray of booleans{% for item in json.value %}
float_listArray of decimals{% for item in json.value %}

AI Agent Configuration

Basic Configuration

ParameterTypeRequiredDescription
modelenumYesModel tier (low, medium, high)
messagesarrayYesMessages array with role and content
toolsarrayNoTools the agent can use
return_typeenumYesOutput type

Available Tools

ToolPurpose
listList files in the deal room
searchSearch deal room content
openRead deal room documents
web_searchSearch the web for information

Tool Configuration

json
{
  "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:

liquid
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:

text
[Select Many: attendees] ──▶ [AI: Generate personalized message]

Each attendee gets a separate AI call with their specific data.

Batch Mode

Processes all items together:

text
[Load items] ──▶ [AI: Summarize all items together]

All items are available in a single AI call.

When to use which:

ModeUse When
Per-itemEach item needs individual processing
BatchItems need to be analyzed together
Per-itemGenerating individual outputs
BatchCreating aggregate summaries

Common Configurations

Meeting Summary

yaml
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

yaml
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

yaml
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

yaml
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

yaml
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 transcriptSummary instead 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:

text
[AI Prompt]
    ├── Success ──▶ [Use output]
    └── Error ────▶ [Fallback or notify]

Performance Tips

1. Minimize Input Size

Slow:

liquid
{{ json.callRecording.transcript }}

Fast:

liquid
{{ json.callRecording.transcriptSummary }}

2. Use Appropriate Model Tier

TaskRecommended Tier
Yes/no classificationLow
Simple extractionLow
Standard summarizationMedium
Content generationMedium
Complex analysisHigh
Multi-step reasoningHigh

3. Be Specific in Instructions

Vague:

text
Summarize this meeting.

Specific:

text
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

liquid
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"