Search documentation

Search for pages in the documentation

AI Agent

Agentic AI with tool access for complex research and analysis

The AI Agent node is an agentic AI that can use tools to research, explore, and gather information before generating output. Unlike AI Prompt, the agent can search across meetings, artifacts, contacts, and even the web to build comprehensive responses.

Overview

PropertyValue
CategoryAI
Node IDsds.aiAgent.perItem.in1.success1.error1 (per-item)
ds.aiAgent.batch.in1.success1.error1 (batch)
Input Ports1
Success Outputs1
Error Outputs1
Execution ModePer-item or Batch
Timeout120 seconds
Retry StrategyExponential jitter, max 2 attempts

Configuration

ParameterTypeRequiredDefaultDescription
modelSelectNomediumModel tier: low, medium, high
messagesArrayYes-Chat messages array
return_typeSelectYes-Output type (includes list types)

Return Types

AI Agent supports additional array return types:

TypeDescriptionExample
stringSingle text output"Analysis summary..."
integerSingle whole number42
floatSingle decimal number0.85
booleanSingle true/falsetrue
string_listArray of strings["item1", "item2"]
integer_listArray of integers[1, 2, 3]
float_listArray of floats[0.5, 0.8]
boolean_listArray of booleans[true, false]

Available Tools

The AI Agent has access to four powerful tools:

1. List Tool

Browse inventory and directories.

Capabilities:

  • List decision sites (deal rooms)
  • List artifacts (documents)
  • List meetings
  • List contacts

Use case: Get an overview of available data, find relevant items to explore.

2. Search Tool

Semantic search across your data.

Capabilities:

  • Full semantic search (meaning-based, not just keywords)
  • Search artifacts and meetings
  • Filter by date range, deal rooms, teams

Use case: Find relevant information when you don't know exactly where it is.

3. Open Tool

Read full content of items.

Capabilities:

  • Open artifacts (full document content)
  • Open meetings (details, transcript, insights)
  • Open contacts (full profile)

Use case: Deep dive into specific items found via list or search.

4. Web Search Tool

Research on the public web.

Capabilities:

  • Public web search
  • Filter by date range
  • Include/exclude specific text

Use case: Competitive intelligence, market research, external context.

Input Schema

Accepts any data from upstream. Commonly used inputs:

  • Deal room context
  • Meeting information
  • Specific research questions

Output Schema

Success Output

json
{
  "type": "string",
  "value": "Based on my research across 5 meetings and 3 documents...",
  "usage": {
    "prompt_tokens": 2500,
    "completion_tokens": 450
  }
}

List Output Example

json
{
  "type": "string_list",
  "value": [
    "Competitor A launched new pricing",
    "Customer expressed budget concerns",
    "Timeline pushed to Q2"
  ]
}

Examples

Basic Example: Research a Deal

Research recent activity for a deal room.

Configuration:

Model: medium

Messages:

text
[System]
You are a sales analyst. Research the provided deal room and summarize recent activity, risks, and opportunities.

Use your tools to:
1. List recent meetings for this deal
2. Search for relevant artifacts
3. Open key documents to understand context

Provide a comprehensive but concise analysis.

[User]
Analyze recent activity for deal room: {{ trigger.dealRoomId }}

Focus on:
- Meeting frequency and engagement trends
- Key stakeholders involved
- Any mentioned concerns or blockers
- Opportunities for advancement

Return Type: string

Example: Competitive Intelligence

Research competitors mentioned in meetings.

Configuration:

Model: high

Messages:

text
[System]
You are a competitive intelligence analyst. Research competitors mentioned in recent meetings and provide insights.

Your process:
1. Search meetings for competitor mentions
2. Open relevant meetings to get context
3. Use web search for recent competitor news
4. Synthesize findings into actionable insights

[User]
Research any competitors mentioned in meetings for deal room: {{ trigger.dealRoomId }}

Provide:
- Which competitors were mentioned and in what context
- Recent public news about these competitors
- How our solution compares (if discussed)
- Recommended talking points for the sales team

Return Type: string

Example: Extract Risk Factors

Extract a list of risk factors from recent deal activity.

Configuration:

Model: medium

Messages:

text
[System]
You are a risk analyst for sales deals. Review recent activity and extract specific risk factors.

Risk indicators to look for:
- Budget concerns or constraints
- Timeline delays or uncertainty
- Stakeholder changes or resistance
- Competitive pressure
- Technical concerns or requirements gaps

Search and review meetings, then list specific, factual risk items.

[User]
Extract risk factors for deal: {{ trigger.dealRoomId }}

List each risk as a clear, specific statement.

Return Type: string_list

Output:

json
{
  "type": "string_list",
  "value": [
    "CFO expressed concerns about Q1 budget allocation in Jan 10 meeting",
    "Competitor Acme was mentioned as having lower pricing",
    "Technical team requested SSO integration not in current roadmap",
    "Champion Sarah Lee is leaving the company in March"
  ]
}

Example: Score Multiple Factors

Analyze multiple aspects and return scores.

Configuration:

Model: high

Messages:

text
[System]
You are a deal scoring analyst. Research the deal and score these factors on a 0.0-1.0 scale:

1. Engagement (meeting frequency, responsiveness)
2. Authority (decision-maker involvement)
3. Need (urgency and pain points expressed)
4. Timeline (clarity and proximity of decision)

Research thoroughly, then output exactly 4 scores in order.

[User]
Score the deal: {{ trigger.dealRoomId }}

Output exactly 4 decimal scores between 0.0 and 1.0, one for each factor in order.

Return Type: float_list

Output:

json
{
  "type": "float_list",
  "value": [0.8, 0.6, 0.9, 0.4]
}

Advanced Example: Pre-Meeting Briefing

Generate a comprehensive pre-meeting briefing.

Workflow:

text
[Event Trigger: MEETING_START_MINUS_1H]
            │
            ▼
[Load Meeting] ──── Get meeting details
            │
            ▼
[AI Agent] ──────── Research attendees, deal history, recent activity
            │
            ▼
[Slack Post] ────── Send briefing to rep

AI Agent Configuration:

Messages:

text
[System]
You are a sales preparation assistant. Create a comprehensive pre-meeting briefing.

Research process:
1. Review past meetings with these attendees
2. Search for relevant artifacts and documents
3. Look up attendee background (if contacts exist)
4. Check for any recent activity or updates
5. Use web search for recent company news

Briefing format:
- Attendee background (role, past interactions)
- Previous meeting summaries
- Key discussion points to address
- Potential objections to prepare for
- Suggested talking points
- Recent relevant news

[User]
Create a briefing for upcoming meeting:

Meeting: {{ json.meeting.title }}
Time: {{ json.meeting.startTime }}
Attendees:
{% for a in json.meeting.attendees %}
- {{ a.name }} ({{ a.email }})
{% endfor %}

Deal Room: {{ trigger.dealRoomId }}

Return Type: string

Best Practices

1. Guide the Research Process

Tell the agent what to look for and how:

text
Your research process:
1. First, list recent meetings for this deal
2. Search for any documents mentioning "pricing" or "budget"
3. Open the most relevant items
4. Synthesize findings

2. Be Specific About Output

text
Output a bulleted list of exactly 5 key findings. Each finding should:
- Start with a date reference
- Include the source (meeting name or document)
- Be a single, specific fact

3. Set Appropriate Scope

text
Focus only on activity from the last 30 days.
text
Search across all deal rooms this contact is associated with.

4. Handle "No Results" Cases

text
If you find no relevant information, state that clearly rather than making assumptions.

5. Use Higher Model Tiers for Complex Research

Complex research with multiple tool calls benefits from high tier:

  • Better reasoning about what to search
  • More coherent synthesis of multiple sources
  • Higher quality output

Common Issues

Agent doesn't use tools

Symptom: Output is generic, doesn't reference specific data

Solutions:

  1. Explicitly instruct tool usage in system prompt
  2. Ask for citations/sources in output
  3. Verify deal room / meeting IDs are valid

Timeout on complex research

Symptom: Node times out during research

Solutions:

  1. Narrow the research scope
  2. Add constraints (date ranges, specific items)
  3. Break into multiple simpler agent calls

Inconsistent depth of research

Symptom: Sometimes thorough, sometimes shallow

Solutions:

  1. Be explicit about expected thoroughness
  2. Specify minimum number of sources to consult
  3. Use high model tier for consistent depth

Tool access errors

Symptom: Agent reports it can't access certain tools

Solutions:

  1. Check permissions for the deal room
  2. Verify referenced IDs exist
  3. Contact support if tools should be available
  • AI Prompt - For simpler, single-turn generation
  • Load Meeting - Pre-fetch specific meeting data
  • If - Branch based on agent output

Technical Details

Tool Loop

The agent operates in a loop:

  1. Receive prompt
  2. Decide whether to use a tool
  3. Execute tool, receive results
  4. Decide whether to continue or output
  5. Repeat (max 100 iterations)

Tool Call Limits

  • Max iterations: 100 tool calls per execution
  • Max retries: 3 retries per failed tool call
  • Timeout: 120 seconds total

Token Usage

Agent executions typically use more tokens than AI Prompt due to:

  • Tool call reasoning
  • Tool results being added to context
  • Multi-turn conversation internally

Plan for 2-5x token usage compared to equivalent AI Prompt.

Privacy and Access

The agent can only access data the workflow's organization has permission to see:

  • Own meetings and artifacts
  • Shared deal rooms
  • Public web content

The agent cannot access other organizations' data.