> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beam.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Selecting Tools

> Choose and configure the right tool for each workflow node: Custom GPT tools, integration connectors, or custom integrations

Every node in your workflow requires a tool to execute its objective. Tools determine what action the node performs, from processing data with AI to connecting with external systems.

<Frame>
  <img src="https://mintcdn.com/beamai/_fu-3ODo4WjBAai0/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-03%20at%2023.55.42.png?fit=max&auto=format&n=_fu-3ODo4WjBAai0&q=85&s=cba88fe1d715c713d9e1e992ee4b4668" alt="" width="2358" height="1092" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-03 at 23.55.42.png" />
</Frame>

## Tools Within Nodes

When you add a node to your flow, you select a tool that defines the node's behavior. The tool processes inputs from previous nodes and produces outputs for subsequent steps.

**Node-Tool Relationship:**

* One node = One tool assignment
* Tools can be reused across multiple nodes
* Each tool operates on defined inputs and outputs
* Tool type determines execution capabilities

## Tool Types

<CardGroup cols={3}>
  <Card title="Custom GPT Tools" icon="brain">
    AI-powered tools for classification, extraction, and intelligent processing
  </Card>

  <Card title="Integration Connectors" icon="plug">
    Pre-built connections to 1500+ external services and platforms
  </Card>

  <Card title="Custom Integrations" icon="code">
    User-created API connections for proprietary or unlisted systems
  </Card>
</CardGroup>

### Custom GPT Tools

AI-powered tools that process data using language models. These tools analyze inputs and generate structured outputs based on your instructions.

<Frame>
  <img src="https://mintcdn.com/beamai/dBT3rAbXeceOQ4NM/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-04%20at%2002.53.45.png?fit=max&auto=format&n=dBT3rAbXeceOQ4NM&q=85&s=d40c7735526418e5106f715bb5195967" alt="" width="1966" height="1242" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-04 at 02.53.45.png" />
</Frame>

**When to Use:**

* Classify or categorize content
* Extract structured data from unstructured text
* Analyze sentiment or intent
* Generate responses or summaries
* Validate data quality

**How They Work:**

1. You provide a prompt describing the task
2. Tool receives inputs (text, documents, variables)
3. AI model processes according to instructions
4. Tool returns structured output

**Example Use Cases:**

* Email classifier: Routes emails to departments based on content
* Invoice extractor: Pulls line items and totals from documents
* Support ticket analyzer: Determines priority and category
* Content validator: Checks completeness and accuracy

**Configuration Elements:**

* Tool objective and description
* Input parameters (what data the tool receives)
* Processing prompt (instructions for the AI)
* Output schema (structure of results)

### Integration Connectors

Pre-configured tools that connect to external platforms and services. Beam provides 1500+ ready-to-use integrations.

<Frame>
  <img src="https://mintcdn.com/beamai/vR_W5YhQLI3StQGD/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-04%20at%2002.55.15.png?fit=max&auto=format&n=vR_W5YhQLI3StQGD&q=85&s=0abde7f082beefa4f09c17657b56946e" alt="" width="1940" height="1240" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-04 at 02.55.15.png" />
</Frame>

**Common Integration Categories:**

**Email & Communication:**

* Gmail: Send/receive emails, manage labels, search messages
* Outlook: Email operations, calendar management
* Slack: Post messages, manage channels, file sharing

**CRM & Sales:**

* Salesforce: Lead management, opportunity tracking, record updates
* HubSpot: Contact operations, deal management
* Airtable: Database queries, record creation, updates

**Productivity & Storage:**

* Google Drive: File management, sharing, search
* SharePoint: Document operations, list management
* Notion: Database operations, page creation

**Business Applications:**

* SAP: ERP operations, data retrieval
* NetSuite: Financial operations, record management
* Oracle: Database queries, business logic

**How Integration Connectors Work:**

1. Select service from integration catalog
2. Authenticate (OAuth, API key, or custom method)
3. Choose specific action (send email, create record, etc.)
4. Map workflow variables to integration fields
5. Tool executes action when node runs

**Example: Gmail Send Email**

* Action: Send email via Gmail
* Inputs: Recipient, subject, body, attachments
* Authentication: OAuth connection to Gmail account
* Output: Confirmation of sent message

#### Multi-Connections for Integrations

Many integrations support **multiple connections** to the same service. This allows you to:

* Connect multiple accounts (e.g., multiple Gmail accounts)
* Use different credentials for different workflows
* Separate personal and business accounts
* Test with staging vs production environments

**How Multi-Connections Work:**

<Frame>
  <img src="https://mintcdn.com/beamai/_fu-3ODo4WjBAai0/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-04%20at%2000.04.04.png?fit=max&auto=format&n=_fu-3ODo4WjBAai0&q=85&s=ab8ae6add9c9553670439b3962fd2093" alt="" width="908" height="1004" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-04 at 00.04.04.png" />
</Frame>

<Steps>
  <Step title="Add Connection">
    When configuring an integration tool:

    1. Click "Add Connection" or "Connect Account"
    2. Authenticate with the service
    3. Give the connection a descriptive name
  </Step>

  <Step title="Select Connection">
    When using the tool in a workflow:

    * Choose which connection to use from dropdown
    * Different nodes can use different connections
    * Switch connections without reconfiguring the tool

    <Frame>
      <img src="https://mintcdn.com/beamai/dBT3rAbXeceOQ4NM/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-06%20at%2022.13.51.png?fit=max&auto=format&n=dBT3rAbXeceOQ4NM&q=85&s=6182c0c0518a3c1c0c3b5f2f30ba7f45" alt="" width="854" height="1136" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-06 at 22.13.51.png" />
    </Frame>
  </Step>

  <Step title="Manage Connections">
    View and manage all connections:

    * See active connections
    * Add new connections
    * Remove outdated connections
    * Refresh expired authentications

    <Frame>
      <img src="https://mintcdn.com/beamai/_fu-3ODo4WjBAai0/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-04%20at%2000.06.44.png?fit=max&auto=format&n=_fu-3ODo4WjBAai0&q=85&s=e7186b950a682339329451452e28d7d9" alt="" width="2250" height="1476" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-04 at 00.06.44.png" />
    </Frame>
  </Step>
</Steps>

**Example Use Cases:**

* **Multiple Email Accounts**: Send from [support@company.com](mailto:support@company.com) or [sales@company.com](mailto:sales@company.com)
* **Multi-Tenant CRM**: Connect different Salesforce orgs for different clients
* **Environment Separation**: Staging Airtable base vs Production base
* **Team Separation**: Marketing Gmail vs Customer Support Gmail

### Custom Integrations

Build your own API connections for services not available in the integration catalog.

See detailed instructions in [Advanced Patterns → Custom Integrations](/02-building-agents/advanced-patterns/custom-integrations/custom-integrations).

**When to Build Custom Integrations:**

* Proprietary internal systems
* Specialized industry platforms
* Services not in catalog
* Custom authentication requirements

**How Custom Integrations Work:**

1. Provide OpenAPI specification or API documentation
2. Configure authentication method
3. Define available actions and endpoints
4. Map request/response structures
5. Test connection and actions

<Frame>
  <img src="https://mintcdn.com/beamai/_fu-3ODo4WjBAai0/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-03%20at%2023.59.19.png?fit=max&auto=format&n=_fu-3ODo4WjBAai0&q=85&s=ce441c29c46ab56d1302be5cf61af75c" alt="" width="2904" height="988" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-03 at 23.59.19.png" />
</Frame>

**Configuration Requirements:**

* API base URL
* Authentication type (API key, OAuth, bearer token, custom)
* Endpoint definitions
* Request/response schemas
* Error handling rules

**Example: Custom CRM Integration**

* System: Internal customer database
* Endpoints: Create contact, update deal, retrieve account
* Auth: Custom API key header
* Actions: POST /contacts, PATCH /deals/:id, GET /accounts/:id

## Selecting the Right Tool

Choose tool type based on your node's objective:

**Decision Framework:**

```
Need to process or analyze data with AI?
└─> Use Custom GPT Tool

Need to interact with external service?
├─> Service in integration catalog?
│   └─> Use Integration Connector
└─> Service not available?
    └─> Build Custom Integration
```

**Example Workflow Node Assignments:**

| Node Objective                  | Tool Type             | Specific Tool                |
| ------------------------------- | --------------------- | ---------------------------- |
| Classify incoming email         | Custom GPT            | Email Classifier             |
| Send notification to Slack      | Integration Connector | Slack - Post Message         |
| Retrieve customer data from CRM | Integration Connector | Salesforce - Query Records   |
| Extract invoice line items      | Custom GPT            | Invoice Data Extractor       |
| Update internal system          | Custom Integration    | Internal API - Update Record |
| Validate data completeness      | Custom GPT            | Data Validation Tool         |

## Adding Tools to Nodes

<Steps>
  <Step title="Access Node Configuration">
    Click on a node in your flow to open the configuration panel
  </Step>

  <Step title="Browse Tool Gallery">
    Click the tool dropdown to access the **Tool Gallery** with smart filtering:

    **Filter Options:**

    * **All Tools**: See every available tool
    * **Integrations**: Filter to show only integration connectors
    * **Prompts**: Filter to show only Custom GPT tools
    * **Recent**: Your recently used tools
    * **Search**: Find tools by name or functionality

    **Smart Filtering Examples:**

    * Select "Integrations" to see only Salesforce, Gmail, Airtable, etc.
    * Select "Prompts" to see only AI-powered processing tools
    * Search "email" to find all email-related tools across types
  </Step>

  <Step title="Select or Create Tool">
    **Option A: Use Existing Tool**

    * Browse the filtered gallery
    * Preview tool capabilities
    * Select tool to assign to node

    <Frame>
      <img src="https://mintcdn.com/beamai/_fu-3ODo4WjBAai0/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-03%20at%2023.57.04.png?fit=max&auto=format&n=_fu-3ODo4WjBAai0&q=85&s=1446bb6802c75ae33c62884b022be818" alt="" width="2164" height="1406" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-03 at 23.57.04.png" />
    </Frame>

    **Option B: Create New Tool**

    Here, you give the node objective and the system generates a tool for you

    <Frame>
      <img src="https://mintcdn.com/beamai/Lzm79wUYghFtnDyl/02-building-agents/agent-fundamentals/tools-integrations/Screenshot%202025-11-06%20at%2021.33.54.png?fit=max&auto=format&n=Lzm79wUYghFtnDyl&q=85&s=e9b0f300c71b5f9d2eb7a4bc1ae21011" alt="" width="2326" height="1504" data-path="02-building-agents/agent-fundamentals/tools-integrations/Screenshot 2025-11-06 at 21.33.54.png" />
    </Frame>
  </Step>

  <Step title="Configure Tool Settings">
    Set node-specific tool configuration:

    * Execution mode (automated, consent required, code execution)
    * Input parameter mapping
    * Output variable names
    * Error handling options
  </Step>
</Steps>

## Tool Execution Modes

Control how tools execute within nodes:

**Fully Automated**

* Tool runs without human intervention
* Best for: High-confidence, repetitive tasks
* Fastest workflow execution
* Example: Data formatting, simple classification

**Consent Required**

* Workflow pauses for user approval before tool executes
* Human-in-the-loop validation
* Best for: Critical operations, external communications
* Example: Sending emails, financial transactions

**Code Execution (Custom GPT Tools Only)**

* Enable Code Interpreter for programmatic task execution
* Dynamically writes and executes code to deliver responses
* Best for: Mathematical calculations, data manipulation, aggregation, searching, and sorting
* Provides more accurate results for computational tasks
* Not ideal for textual or conceptual data where LLM context-awareness excels

## Changing Tools

Replace or modify tools assigned to nodes:

**Change Tool in Node:**

1. Open node configuration
2. Click "Change Tool"
3. Select different tool from list
4. Remap input/output variables if needed
5. Save configuration

**When to Change Tools:**

* Original tool not providing desired results
* Need different processing approach
* Switching between test and production tools
* Optimizing for speed or accuracy

## Tool Libraries

Organize and manage your tools:

**Workspace Tools:**

* All custom GPT tools created in your workspace
* Shared across all agents and workflows
* Searchable by name, category, or description

**Integration Catalog:**

* Browse 1500+ pre-built connectors
* Filter by category or search by name
* View available actions for each service

**Personal Tool Collection:**

* Favorite frequently used tools
* Quick access from node configuration
* Organize by project or use case

## Best Practices

**Tool Selection:**

* Start with integration connectors for standard services
* Use Custom GPT for AI-powered processing
* Build custom integrations only when necessary
* Reuse tools across nodes for consistency

**Tool Organization:**

* Use clear, descriptive tool names
* Categorize tools by function or department
* Document tool purpose and configuration
* Maintain tool library hygiene (archive unused tools)

**Performance Optimization:**

* Match tool capability to task complexity
* Enable code execution for computational tasks
* Enable consent for critical operations only
* Monitor tool execution times and costs

## Next Steps

<CardGroup cols={2}>
  <Card title="Variables & State" icon="arrow-right-arrow-left" href="/02-building-agents/agent-configuration/variables-state/variables-state">
    Configure how data flows into and out of tools
  </Card>

  <Card title="Integration Connectors" icon="circle-nodes" href="/02-building-agents/agent-configuration/integration-connectors/integration-connectors">
    Deep dive: Configure integration connectors and multi-connection patterns
  </Card>

  <Card title="Custom Integrations" icon="puzzle-piece" href="/02-building-agents/advanced-patterns/custom-integrations/custom-integrations">
    Build custom API connections for proprietary systems
  </Card>

  <Card title="Structured Outputs" icon="code" href="/02-building-agents/agent-configuration/structured-outputs/structured-outputs">
    Design JSON schemas for predictable tool outputs
  </Card>
</CardGroup>
