AI Nodes
Process data with artificial intelligence
AI nodes bring the power of large language models into your workflows. Use them to analyze meeting transcripts, generate summaries, extract insights, classify content, and create personalized messages.
Available AI Nodes
| Node | Description | Use Case |
|---|---|---|
| AI Prompt | Generate text from a configured prompt | Summarization, extraction, classification |
| AI Agent | Agentic AI with tool access | Complex research, multi-step analysis |
Choosing Between AI Prompt and AI Agent
| Feature | AI Prompt | AI Agent |
|---|---|---|
| Complexity | Simple, single-turn | Complex, multi-step |
| Tool Access | No tools | Has tools (search, open, list) |
| Speed | Faster | Slower (tool loops) |
| Cost | Lower | Higher |
| Best For | Summarization, formatting | Research, analysis |
Use AI Prompt when:
- You need straightforward text generation
- The task is a single transformation (summarize, extract, classify)
- You want predictable, fast execution
- Input data is already available in the workflow
Use AI Agent when:
- The task requires research or exploration
- You need to search across meetings, artifacts, or contacts
- The output depends on gathering information from multiple sources
- You need intelligent decision-making about what to investigate
How AI Nodes Work
Input Data ──▶ Prompt Template ──▶ AI Model ──▶ Parsed Output
│ │
│ ▼
Liquid templates Low/Medium/High
+ context data model tier
- Input arrives from upstream node
- Prompt is constructed using your messages + data templates
- AI model processes the prompt
- Output is parsed into the specified return type
- Result flows to downstream nodes
Model Tiers
AI nodes use model "tiers" rather than specific model names, allowing the system to use the best available model:
| Tier | Speed | Quality | Cost | Use Case |
|---|---|---|---|---|
low | Fast | Good | $ | Simple classification, short responses |
medium | Balanced | Better | $$ | General summarization, analysis (default) |
high | Slower | Best | $$$ | Complex reasoning, nuanced analysis |
Learn more about model selection →
Message Configuration
AI nodes use a messages array, similar to chat-based APIs:
messages: [
{ role: "system", content: "You are a helpful assistant..." },
{ role: "user", content: "Please analyze: {{ json.transcript }}" }
]
Message Roles
| Role | Purpose |
|---|---|
system | Set behavior, persona, and instructions |
user | The actual request/input |
assistant | (Optional) Example responses for few-shot learning |
Using Liquid Templates
Message content supports Liquid templating:
{{ json.meeting.title }} // Access upstream data
{{ trigger.meetingPlanId }} // Access trigger data
{{ json.attendees | size }} // Use filters
{% for item in json.items %} // Loops
- {{ item.name }}
{% endfor %}
Return Types
AI nodes parse the model output into structured data:
Scalar Types
| Type | Description | Example Output |
|---|---|---|
string | Text output | "Meeting was productive" |
integer | Whole number | 42 |
float | Decimal number | 0.85 |
boolean | True/false | true |
Array Types (AI Agent only)
| Type | Description | Example Output |
|---|---|---|
string_list | List of strings | ["item1", "item2"] |
integer_list | List of integers | [1, 2, 3] |
float_list | List of floats | [0.5, 0.8, 0.9] |
boolean_list | List of booleans | [true, false, true] |
Execution Modes
Both AI nodes support per-item and batch modes:
Per-Item Mode
Processes each input item individually. If 5 meetings arrive, the AI runs 5 times.
Use case: Individual meeting summaries, per-attendee analysis
Batch Mode
Processes all items together. The AI sees all items at once.
Use case: Comparative analysis, aggregate summaries
Timeout and Retry
AI nodes have special timeout handling:
| Setting | Value |
|---|---|
| Timeout | 120 seconds (vs 30s for other nodes) |
| Retry Strategy | Exponential with jitter |
| Max Attempts | 2 |
The longer timeout accounts for:
- Model inference time
- Tool execution (AI Agent)
- Complex reasoning tasks
Best Practices
1. Write Clear System Prompts
You are an expert meeting analyst. Your task is to:
1. Extract key decisions made
2. Identify action items with owners
3. Summarize the overall sentiment
Be concise and factual. Do not include information not present in the transcript.
2. Provide Structured Input
Meeting: {{ json.meeting.title }}
Date: {{ json.meeting.startTime | date: "%B %d, %Y" }}
Duration: {{ json.callRecording.duration | divided_by: 60 }} minutes
Attendees:
{% for a in json.meeting.attendees %}
- {{ a.name }} ({{ a.email }})
{% endfor %}
Transcript:
{{ json.callRecording.transcript }}
3. Specify Output Format
Respond with a JSON object containing:
- "summary": string (2-3 sentences)
- "decisions": array of strings
- "action_items": array of { "task": string, "owner": string }
- "sentiment": "positive" | "neutral" | "negative"
4. Handle Empty/Missing Data
{% if json.callRecording and json.callRecording.transcript != "" %}
{{ json.callRecording.transcript }}
{% else %}
No transcript available. Meeting title: {{ json.meeting.title }}
{% endif %}
5. Choose Appropriate Model Tier
| Task | Recommended Tier |
|---|---|
| Binary classification | low |
| Simple summarization | medium |
| Meeting summary | medium |
| Complex analysis | high |
| Nuanced sentiment | high |
Common Patterns
Pattern: Summarize Then Act
[Load Meeting] ──▶ [AI Prompt: Summarize] ──▶ [Slack Post]
Pattern: Classify Then Route
┌──▶ [High Priority Handler]
[AI Prompt: Classify] ──▶ [If] ├──▶ [Medium Priority Handler]
└──▶ [Low Priority Handler]
Pattern: Research Then Report
[AI Agent: Research competitors] ──▶ [AI Prompt: Format report] ──▶ [Email]
Error Handling
AI nodes can fail for several reasons:
| Error | Cause | Solution |
|---|---|---|
| Timeout | Complex prompt, slow model | Simplify prompt, try lower tier |
| Parse error | Output doesn't match expected type | Improve format instructions |
| Rate limit | Too many requests | Add delays, reduce frequency |
| Content filter | Output triggered safety filters | Adjust prompt, avoid sensitive topics |
Connect error outputs to handle failures gracefully:
[AI Prompt]
├── Success ──▶ [Continue]
└── Error ────▶ [Fallback] ──▶ [Sink]
Next Steps
- AI Prompt - Detailed prompt node documentation
- AI Agent - Detailed agent node documentation
- Prompt Engineering Guide - Best practices for prompts