Let’s walk through how to create a Tool
Step 1: Go to Tools Tab
Step 2: Fill in Tool Information
Field | What it Means | Example |
---|---|---|
Tool Name | A unique internal name. Avoid spaces. | Create_Case |
Description | What this tool does. This helps you and others understand its purpose. | ”Captures customer details and stores them in Salesforce.” |
Async | Should the assistant wait while the tool runs? Set to true if the assistant should keep talking during tool execution. | ✅ Yes for Create_Case |
Field | What it Means | Example |
---|---|---|
Tool Type | What kind of backend logic will this tool call? Choose: • Flow – for declarative (point-and-click) automation • Apex REST Resource – for code-based logic | Flow |
Flow API Name / Apex Endpoint | The unique name or URL mapping of your logic in Salesforce. For Flows, use the API name (no spaces). For Apex, use the URL Mapping set in @RestResource . | createvoicecase |
Timeout (Seconds) | How long the assistant should wait for a response before giving up. | 20 |
Field | Description |
---|---|
Parameter | The internal name of the data being passed. This should exactly match the input variable name in your Salesforce Flow or Apex method. Use lowercase and underscores if needed (e.g., contact_number ). |
Parameter Type | What kind of data is expected for this parameter. Common types include: - string (text)- number (digits like phone numbers)- boolean (true/false)- date (calendar date)- datetime (date + time) |
Description | A short note explaining what this parameter is for. This is helpful for others reviewing or editing the tool later. Example: “Contact number of the customer.” |
Required | Check this box if the assistant must collect this information from the user before calling the tool. If unchecked, the tool will still run even if this value is missing (not recommended unless optional). |
Create_Case
that collects user complaints. Then, you’ll likely need the customer’s name, their_phone number_ and a description of the complaintEach of these values becomes a parameter.Parameter | Type | Description | Required |
---|---|---|---|
name | string | Name of the customer | ✅ Yes |
contact_number | number | Customer’s phone number | ✅ Yes |
complaint | string | Description of the complaint | ✅ Yes |
contactNumber
and you put contact_number
in the tool, the integration will fail.snake_case
naming convention for parameters, Eg: contact_number
This maintains consistency with Salesforce conventions and reduces integration friction.Message Type | What It’s For | Example |
---|---|---|
Start | Assistant says this when tool starts running | ”I’m capturing your details into our CRM…” |
Delayed | If it’s taking longer than expected | ”Sorry for the delay, still working on it…” |
Completed | When it succeeds | ”Your details are captured successfully!” |
Failed | When something goes wrong | ”Something went wrong. I’ll notify the team for follow-up.” |
Step 3: Save and Link to Assistant