Pre-RequisiteYou need to already have a Flow or Apex logic built in Salesforce that:
You can go through below example for your reference.
- Accepts input fields (e.g., name, contact number)
- Does something meaningful (like creating a Case)
- Optionally returns a result back (e.g., Case Number)
You can go through below example for your reference.
Flow Tools
Example Use Case: Create Case Tool
Create your First Tool
Follow the below steps to see your first tool in action1
Step 1: Go to Tools Tab
- Open the ConverseKit Salesforce App.
- Click on the Tools tab in the navigation.
- Click New Tool to start
2
Step 2: Fill in Tool Information
Here are the fields you’ll need to complete:
Example Tool ParametersLet’s say you’re creating a tool called
These fields must match your Flow input variable names exactly. If your Flow expects
🏷 Tool Info
Define what your tool is and how it behaves during a conversation.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 |
🖥 Server Details
Define what logic to run behind the scenes when the tool is triggered.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 |
🧾 Tool Parameters
The Tool Parameters section defines what input data your tool needs from the assistant to run correctly. Think of it like a form — your assistant collects data from the user during the call, and passes that information into the tool as parameters.Define the input fields that you want your assistant to send to the Flow or Apex.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.As a best practice follow
snake_case
naming convention for parameters, Eg: contact_number
This maintains consistency with Salesforce conventions and reduces integration friction.📢 System Messages
These are the things your assistant says while the tool is running. They’re useful for asynchronous tools where processing may take time.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.” |
3
Step 3: Save and Link to Assistant
- After you click Save on the tool…
- Go to the Assistant Details Page
- Scroll to the Tools section
- Click Add Tool
- Choose your new tool and Save