Skip to main content

Part 1: Create Tools for Your Accounts Receivable Agent

In this first part of the lab, you'll build the foundational tools that give your Accounts Receivable Agent the ability to interact with real financial systems and unstructured data sources. But before we dive into the mechanics of creating tools, let's understand a fundamental shift in how we approach financial automation.

The Evolution: From Task-Based Exception Handling to Role-Based Resolution

For decades, financial systems have operated on rigid, deterministic rules—a payment must match an invoice exactly, or it creates an exception flag and stops. This is the Integration Mindset: structured, task-focused automations that excel at perfect-match scenarios but fail when the real world introduces complexity.

Agentic systems represent the next evolution. Instead of building a narrow automation to "flag payment mismatches," we're designing an agent to fill the role of an "Accounts Receivable Specialist"—a digital colleague who can investigate discrepancies, synthesize information from multiple sources, and resolve complex scenarios autonomously.

The Critical Shift

Traditional Integration: Builds a solution to perform a single, low-level task. Example: "Create an integration that monitors bank deposits, matches them to invoice amounts, and flags exceptions when they don't match."

Agentic Design: Designs an agent to fill a high-level role in the business. Example: "Design an Accounts Receivable Agent that has the skills, access, and authority to understand why a payment doesn't match, validate the customer's claim, and resolve the discrepancy within governance thresholds."

When you architect for a role, you give the agent a "toolbox" of capabilities and a goal. The agent then reasons and plans its own sequence of actions to achieve that goal—just like a human AR specialist would.

The Power of Truth Synthesis

A key principle of role-based agent design is truth synthesis—understanding that the complete picture often requires information from multiple, disconnected sources. Unlike traditional integrations that expect a single, perfectly structured data source, agents can autonomously gather and connect fragments of information.

Why Truth Synthesis?

A human AR specialist knows they need to check the bank deposit, read the customer's email, review the invoice line items in the ERP, and validate the claim before resolving a discrepancy. Your agent should work the same way—using multiple tools to synthesize the truth, not waiting for a single, pre-integrated data source.

This is the difference between task-based (wait for perfect data) and role-based (go get what you need) design.

In this part, you will create five tools that demonstrate this principle:

  • Read Email Attachment - Extract information from unstructured PDF remittance advice
  • Get Bank Transaction Details - Retrieve payment data from banking systems
  • Get Invoice Details - Fetch invoice line items and totals from the ERP
  • Create Credit Memo - Generate credit memos for validated discrepancies
  • Post Cash Receipt - Apply payments and update the general ledger

Each tool is focused but flexible—giving your agent the autonomy to synthesize information and solve complex, multi-system problems.

Get Access to the Accounts Receivable API

Before you can create your agent tools, you need to get access to the Accounts Receivable API through the Boomi API Academy portal. This process will provide you with an API key and base URL that you'll use throughout this lab.

  1. Navigate to the API Academy portal: https://aiplatformcoe-l6qlay.portal.na.controlplane.boomi.com/academy

    API Academy Portal Login

  2. If you don't have a Boomi account:

    1. Click Continue as Guest.
    2. Click APIs.
    3. Click Accounts Receivable.
    4. Click Get Access.
    5. Fill out the information and click Create Account.
  3. If you do have a Boomi account:

    1. Click Login with Boomi Account.
  4. Once logged in, create an application to access the API:

    1. Click Applications in the left sidebar.

      Applications Menu

    2. Click Create New Application.

      Create New Application Button

    3. Give your application a name (e.g., [builderInitials] AR Reconciliation Agent).

    4. Click Create New Application.

      New Application Dialog

  5. Subscribe to the Accounts Receivable and Banking API:

    1. Click API Products in the left sidebar.

      API Products Page

    2. Click the Accounts Receivable API product card.

    3. Click Plans.

    4. Click Subscribe.

    5. Choose your application from the Search... box.

    6. Click Subscribe.

  6. Retrieve your API credentials:

    1. Click Applications in the left sidebar.

    2. Click on your application name.

    3. Click Subscriptions tab.

      Application Subscriptions Tab

    4. Click Secrets.

      Secrets Button

    5. Copy the Product Key and save it somewhere accessible (you'll need it for every tool).

    6. Copy the API Base URL and save it (you'll need this too).

Keep These Credentials Handy

You'll use the same API key and base URL for all tools you create. Consider saving them in a text file so you can easily copy and paste them as you build each tool.

Access Agentstudio

Let's start by navigating to the Boomi Agentstudio environment where you'll create your tools. Navigate to platform.boomi.com and login if necessary.

  1. From the Boomi Platform, click the AI button in the top right corner.

    AI Button

    note

    This will open Agentstudio in a new window. Make sure pop-ups are enabled in your browser.

  2. If this is your first time accessing Agentstudio, you'll see a welcome screen. Click Get Started and accept the Terms and Conditions.

  3. Click the Tools button on the left side of the screen.

    Tools Navigation

Now you're ready to create your first tool!

Tool 1: Read Email Attachment

This tool allows your agent to extract information from unstructured PDF remittance advice documents attached to customer emails. This demonstrates a core agentic capability: handling messy, real-world data without requiring rigid ETL pipelines or pre-formatted schemas.

Handling Unstructured Data

Notice how this tool processes unstructured PDFs? Traditional integrations would require extensive ETL logic to parse and clean data before processing. Agents, powered by LLMs, can reason with messy data directly—extracting intent, identifying key information, and synthesizing meaning from natural language explanations.

This is the power of role-based design with document intelligence!

  1. Click Create New Tool.

    Create New Tool

  2. Hover over API and click Add Tool.

    Add API Tool

  3. Enter the following tool details:

    • Tool Name: [builderInitials] Read Email Attachment
    • Description: Extract remittance information from unstructured PDF attachments sent by customers explaining payment discrepancies, including invoice numbers, deduction amounts, and reason codes.

    Tool Configuration Page

    Why This Description Matters

    The description tells your agent WHEN and HOW to use this tool. The AI model uses this description to decide if this tool is appropriate for the current task. Be specific about what data it returns and the scenarios where it's useful.

  4. Click + Add Input Parameter.

  5. Configure the emailId parameter:

    • Name: emailId
    • Description: The unique identifier of the email message containing the remittance attachment to process.
    • Type: String
    • Required: True

    Email ID Parameter Configuration

  6. Click Add Input Parameter.

  7. Click + Add Input Parameter again.

  8. Configure the attachmentType parameter:

    • Name: attachmentType
    • Description: Optional filter for attachment type. Defaults to PDF. Set to 'all' to process all attachment formats.
    • Type: String
    • Required: False

    Attachment Type Parameter Configuration

    Why Make This Optional?

    Sometimes the agent needs to process only PDFs (the most common format), and sometimes customers send scanned images or other formats. Making this parameter optional gives the agent flexibility to adapt based on what it encounters.

  9. Click Add Input Parameter.

  10. Click Save & Continue.

  11. Configure the API connection. Click Add Manually and enter the following:

    • Endpoint Base URL: Paste the API Base URL you copied from the API Academy portal.
    • Method: GET
    • Endpoint Path: /readEmailAttachment

    API Endpoint Configuration

  12. Click + Add Query Parameter.

  13. Map the emailId parameter:

    • Key: emailId
    • Value: {{emailId}}
  14. Click + Add Query Parameter again.

  15. Map the attachmentType parameter:

    • Key: attachmentType
    • Value: {{attachmentType}}

    Query Parameter Mapping

  16. Click + Add Header.

  17. Configure the authentication header:

    • Key: X-API-Key
    • Value: Paste your Product Key from the API Academy portal

    API Header Configuration

  18. Click Deploy Tool.

  19. Confirm deployment by clicking Deploy.

Tool 1 Complete!

You've created your first tool that handles unstructured data—a core capability that traditional integrations struggle with. Your agent can now extract meaning from messy, real-world customer documents!

Tool 2: Get Bank Transaction Details

This tool allows your agent to retrieve payment information from the banking portal. It demonstrates flexible search capabilities—the agent can look up transactions by transaction ID, invoice number, customer ID, or date range depending on what information it has available.

Flexible Search with Optional Parameters

Notice how this tool has multiple OPTIONAL search parameters? This means the agent can:

  • Look up a specific transaction: transactionId=TXN-12345
  • Find all transactions for an invoice: invoiceNumber=INV-789
  • Browse recent activity for a customer: customerId=CUST-456&dateFrom=2024-01-01

One tool, multiple search strategies—that's role-based design!

  1. Click Create New Tool.

  2. Hover over API and click Add Tool.

  3. Enter the following tool details:

    • Tool Name: [builderInitials] Get Bank Transaction
    • Description: Retrieve bank deposit and payment transaction details including transaction amounts, dates, customer IDs, and associated invoice references.

    Tool Configuration Page

  4. Click + Add Input Parameter.

  5. Configure the transactionId parameter:

    • Name: transactionId
    • Description: Unique bank transaction identifier to look up specific payment details.
    • Type: String
    • Required: False

    Transaction ID Parameter Configuration

  6. Click Add Input Parameter.

  7. Click + Add Input Parameter again.

  8. Configure the invoiceNumber parameter:

    • Name: invoiceNumber
    • Description: Invoice number to search for associated bank transactions and payments.
    • Type: String
    • Required: False

    Invoice Number Parameter Configuration

  9. Click Add Input Parameter.

  10. Click + Add Input Parameter again.

  11. Configure the customerId parameter:

    • Name: customerId
    • Description: Customer identifier to retrieve all bank transactions for that customer.
    • Type: String
    • Required: False

    Customer ID Parameter Configuration

  12. Click Add Input Parameter.

  13. Click Save & Continue.

  14. Configure the API connection. Click Add Manually and enter the following:

    • Endpoint Base URL: Paste the API Base URL you copied from the API Academy portal.
    • Method: GET
    • Endpoint Path: /bankTransaction
  15. Click + Add Query Parameter.

  16. Map the transactionId parameter:

    • Key: transactionId
    • Value: {{transactionId}}
  17. Click + Add Query Parameter again.

  18. Map the invoiceNumber parameter:

    • Key: invoiceNumber
    • Value: {{invoiceNumber}}
  19. Click + Add Query Parameter again.

  20. Map the customerId parameter:

    • Key: customerId
    • Value: {{customerId}}
  21. Click + Add Header.

  22. Configure the authentication header:

    • Key: X-API-Key
    • Value: Paste your Product Key from the API Academy portal
  23. Click Deploy Tool.

  24. Confirm deployment by clicking Deploy.

Tool 2 Complete!

You've created a flexible search tool with multiple optional parameters. Your agent can now retrieve bank transaction data using whatever information it has available!

Tool 3: Get Invoice Details

This tool allows your agent to retrieve detailed invoice information from the ERP system, including line items, quantities, unit prices, and totals. This is critical for validating customer claims—the agent must cross-reference deduction amounts against actual invoice line items.

  1. Click Create New Tool.

  2. Hover over API and click Add Tool.

  3. Enter the following tool details:

    • Tool Name: [builderInitials] Get Invoice Details
    • Description: Retrieve detailed invoice information including line items, quantities, unit prices, SKU codes, and invoice totals from the ERP system for validation and verification purposes.

    Tool Configuration Page

  4. Click + Add Input Parameter.

  5. Configure the invoiceNumber parameter:

    • Name: invoiceNumber
    • Description: Invoice number to retrieve detailed line item information for validation.
    • Type: String
    • Required: True

    Invoice Number Parameter Configuration

  6. Click Add Input Parameter.

  7. Click + Add Input Parameter again.

  8. Configure the includeLineItems parameter:

    • Name: includeLineItems
    • Description: Set to true to include full line item details with SKU codes, quantities, and unit prices. Defaults to false for summary only.
    • Type: Boolean
    • Required: False

    Include Line Items Parameter Configuration

    Why This Parameter?

    Sometimes the agent only needs to confirm the invoice total (quick check), and sometimes it needs to validate specific line item claims (detailed verification). This optional parameter gives the agent control over the level of detail it retrieves.

  9. Click Add Input Parameter.

  10. Click Save & Continue.

  11. Configure the API connection. Click Add Manually and enter the following:

    • Endpoint Base URL: Paste the API Base URL you copied from the API Academy portal.
    • Method: GET
    • Endpoint Path: /invoiceDetails
  12. Click + Add Query Parameter.

  13. Map the invoiceNumber parameter:

    • Key: invoiceNumber
    • Value: {{invoiceNumber}}
  14. Click + Add Query Parameter again.

  15. Map the includeLineItems parameter:

    • Key: includeLineItems
    • Value: {{includeLineItems}}
  16. Click + Add Header.

  17. Configure the authentication header:

    • Key: X-API-Key
    • Value: Paste your Product Key from the API Academy portal
  18. Click Deploy Tool.

  19. Confirm deployment by clicking Deploy.

Tool 3 Complete!

You've created a tool that provides the detailed invoice data your agent needs to validate customer claims. Truth synthesis in action—linking bank deposits to customer emails to invoice line items!

Tool 4: Create Credit Memo

This tool allows your agent to generate credit memos in the ERP system for validated payment discrepancies. This demonstrates a critical shift: giving the agent authority to execute transactions within defined governance boundaries, not just report exceptions.

Financial Authority with Governance

Notice that this tool gives your agent the ability to create financial transactions. This is a core agentic capability—autonomous action with authority. In Part 2, you'll configure governance guardrails that define when the agent can use this tool (e.g., only for discrepancies under $2,500 with documented proof).

This is how we balance autonomy with control!

  1. Click Create New Tool.

  2. Hover over API and click Add Tool.

  3. Enter the following tool details:

    • Tool Name: [builderInitials] Create Credit Memo
    • Description: Generate a credit memo in the ERP system for validated payment discrepancies and customer claims. Use only when the discrepancy has been verified and falls within authorized governance thresholds.

    Tool Configuration Page

  4. Click + Add Input Parameter.

  5. Configure the invoiceNumber parameter:

    • Name: invoiceNumber
    • Description: Invoice number to apply the credit memo against.
    • Type: String
    • Required: True

    Invoice Number Parameter Configuration

  6. Click Add Input Parameter.

  7. Click + Add Input Parameter again.

  8. Configure the customerId parameter:

    • Name: customerId
    • Description: Customer identifier for the credit memo.
    • Type: String
    • Required: True

    Customer ID Parameter Configuration

  9. Click Add Input Parameter.

  10. Click + Add Input Parameter again.

  11. Configure the amount parameter:

    • Name: amount
    • Description: Credit amount to issue. Must match the validated discrepancy amount.
    • Type: Integer
    • Required: True

    Amount Parameter Configuration

  12. Click Add Input Parameter.

  13. Click + Add Input Parameter again.

  14. Configure the reason parameter:

    • Name: reason
    • Description: Reason for the credit memo including reference to customer claim or documentation.
    • Type: String
    • Required: True

    Reason Parameter Configuration

  15. Click Add Input Parameter.

  16. Click Save & Continue.

  17. Configure the API connection. Click Add Manually and enter the following:

    • Endpoint Base URL: Paste the API Base URL you copied from the API Academy portal.
    • Method: POST
    • Endpoint Path: /creditMemo
  18. Click + Add Header.

  19. Configure the authentication header:

    • Key: X-API-Key
    • Value: Paste your Product Key from the API Academy portal
  20. Click + Add Header again.

  21. Configure the content type header:

    • Key: Content-Type
    • Value: application/json
  22. In the Body section, select JSON from the Request Type dropdown.

  23. Enter the following JSON payload:

    {
    "invoiceNumber": "{{invoiceNumber}}",
    "customerId": "{{customerId}}",
    "amount": {{amount}},
    "reason": "{{reason}}"
    }

    Request Body Configuration

  24. Click Deploy Tool.

  25. Confirm deployment by clicking Deploy.

Tool 4 Complete!

You've created a tool that gives your agent the authority to execute financial transactions! This is a core principle of role-based design—agents with decision-making power, not just reporting bots.

Tool 5: Post Cash Receipt

This tool allows your agent to apply payments to invoices and update the general ledger. This is the final step in autonomous resolution—closing the loop from exception detection to complete financial reconciliation.

  1. Click Create New Tool.

  2. Hover over API and click Add Tool.

  3. Enter the following tool details:

    • Tool Name: [builderInitials] Post Cash Receipt
    • Description: Apply customer payments to invoices and post cash receipts to the general ledger. Use after creating any necessary credit memos to ensure the payment is fully reconciled.

    Tool Configuration Page

  4. Click + Add Input Parameter.

  5. Configure the transactionId parameter:

    • Name: transactionId
    • Description: Bank transaction identifier for the payment to post.
    • Type: String
    • Required: True

    Transaction ID Parameter Configuration

  6. Click Add Input Parameter.

  7. Click + Add Input Parameter again.

  8. Configure the invoiceNumber parameter:

    • Name: invoiceNumber
    • Description: Invoice number to apply the payment against.
    • Type: String
    • Required: True

    Invoice Number Parameter Configuration

  9. Click Add Input Parameter.

  10. Click + Add Input Parameter again.

  11. Configure the amount parameter:

    • Name: amount
    • Description: Payment amount to apply to the invoice.
    • Type: Integer
    • Required: True

    Amount Parameter Configuration

  12. Click Add Input Parameter.

  13. Click + Add Input Parameter again.

  14. Configure the customerId parameter:

    • Name: customerId
    • Description: Customer identifier for the payment.
    • Type: String
    • Required: True

    Customer ID Parameter Configuration

  15. Click Add Input Parameter.

  16. Click Save & Continue.

  17. Configure the API connection. Click Add Manually and enter the following:

    • Endpoint Base URL: Paste the API Base URL you copied from the API Academy portal.
    • Method: POST
    • Endpoint Path: /cashReceipt
  18. Click + Add Header.

  19. Configure the authentication header:

    • Key: X-API-Key
    • Value: Paste your Product Key from the API Academy portal
  20. Click + Add Header again.

  21. Configure the content type header:

    • Key: Content-Type
    • Value: application/json
  22. In the Body section, select JSON from the Request Type dropdown.

  23. Enter the following JSON payload:

    {
    "transactionId": "{{transactionId}}",
    "invoiceNumber": "{{invoiceNumber}}",
    "amount": {{amount}},
    "customerId": "{{customerId}}"
    }

    Request Body Configuration

  24. Click Deploy Tool.

  25. Confirm deployment by clicking Deploy.

Tool 5 Complete!

You've completed the full toolkit for autonomous accounts receivable resolution! Your agent can now investigate discrepancies, validate claims, create credit memos, and post cash receipts—end-to-end financial automation with reasoning authority.

What You've Built: A Toolbox for Truth Synthesis

Let's reflect on what makes this toolkit different from traditional integration components:

Traditional Integration ComponentsRole-Based Agent Tools
Rigid schemas require perfect data formatsFlexible tools handle unstructured PDFs and natural language
Single-source lookups (one API = one purpose)Multi-parameter search (one tool, many strategies)
Exception flagging stops the processTransaction execution resolves the exception
Siloed operations (bank ≠ email ≠ ERP)Truth synthesis across all sources

Your agent now has the capabilities to perform the role of an Accounts Receivable Specialist. In Part 2, you'll configure the agent itself—defining its role, giving it instructions, setting governance guardrails, and teaching it when and how to use these tools to achieve its goal.

Ready for Part 2?

You've built the tools. Now let's build the digital colleague who knows how to use them! Click Next to continue.