Creating a Custom Tool to Save User's Address
Background and Purpose
This SOP provides a step-by-step guide to creating a custom tool in an AI assistant for collecting and saving client addresses. This setup enables address information (street, city, state, postal code) to be saved directly in the General Info section of the contact profile, ensuring streamlined data entry for clients requesting roof inspections.
Note: Since the update of Version 2.1, a custom tool like this should not be needed since there is a pre-built tool with the same functionality. However, we felt it would still be helpful to have this documentation so that users can learn how to build the tool themselves
Resources Required
- AI Assistant Dashboard - Access to custom tool creation and assistant configurations.
- CRM System (e.g., GoHighLevel) - Access to automation workflows and the contact profile fields.
- Endpoint URL - Generated from an inbound webhook within the CRM.
Definition of Done
The setup is complete when:
- Custom Tool: A “Save Address” custom tool is created and linked to the assistant.
- Workflow Automation: A workflow is created to map the address fields in the CRM.
- Testing: The AI assistant successfully collects and saves the address to the appropriate fields in the contact profile.
Step-by-Step Process
1. Create the Custom Tool in AI Assistant Dashboard
- Open AI Assistant Dashboard:
- Go to Assistants in the AI dashboard and select the assistant you want to configure.
- Under Custom Tools, click Create a Custom Tool.
- Define the Custom Tool:
- Unique Name: Enter a descriptive name like “Save Address.”
- Description: Add a detailed description (e.g., “Use this tool to collect and save the user’s complete address including street, city, state, and zip code.”).
- Parameters: Add these fields:
street
city
state
zip_code
- Example Data: For parameters, use an example address like “54 State Street, Albany, New York, 12207” for clarity.
2. Generate Endpoint URL Using Inbound Webhook
- Open a second tab for CRM Automations and follow these steps:
- Go to Automations and create a new workflow titled Save Address Webhook.
- Add Trigger:
- Set Inbound Webhook as the trigger.
- Copy the Webhook URL generated by the inbound webhook.
- Link Webhook to Custom Tool:
- Return to the AI assistant’s Custom Tool setup.
- Paste the Webhook URL in the endpoint field.
- Test by clicking on the arrow to verify with a green checkmark.
- Save and Add Custom Tool to Assistant.
3. Add Prompt in AI Assistant to Collect Address
- In the AI assistant’s Prompts section:
- Add a prompt instructing the assistant to ask the user for their full address (e.g., “Could you please provide your full address, including the zip code?”).
- Configure the assistant to call the Save Address function once the address is collected.
4. Create Workflow to Map Address Fields in CRM
-
Return to the CRM Automation Tab:
- Use the workflow titled Save Address Webhook.
-
Fetch Sample Request:
- In the automation settings, select Fetch Sample Request to pull sample data.
- When the data mapping reference appears, save the trigger.
-
Map Address Data to Contact Fields:
- Delete Default Action (e.g., Create Contact) if it appears automatically.
- Add Find Contact Action:
- Choose Find Contact by Contact ID.
- Use the Contact_ID with the underscore (e.g.,
contact_id
) from the inbound webhook trigger.
- Add Field Mapping for Address:
- Select Update Contact Field for each part of the address:
- Street Address:
- Go to Inbound Webhook > Arguments > Street.
- City:
- Go to Inbound Webhook > Arguments > City.
- State:
- Go to Inbound Webhook > Arguments > State.
- Postal Code:
- Go to Inbound Webhook > Arguments > Zip Code.
- Street Address:
- Select Update Contact Field for each part of the address:
-
Save and Publish Workflow:
- Save the workflow and publish it to activate the custom tool.
5. Testing and Validation
-
Test the Assistant Workflow:
- Place a test call or interaction with the AI assistant.
- Provide the address details when prompted by the assistant.
- Confirm that the assistant verifies and confirms the address.
-
Review Data in CRM:
- After the test interaction, go to the Contacts tab in the CRM.
- Confirm that the address has been correctly saved in the General Info section of the contact profile under Street Address, City, State, and Postal Code.
FAQs
-
What if the address data doesn’t save in the correct fields?
- Ensure that each address component (street, city, state, zip code) is mapped correctly in the Update Contact Field action.
-
Can this process be adapted for other data fields?
- Yes, modify the tool parameters and field mappings to capture other information (e.g., email, phone).
-
What if the assistant does not capture the address correctly?
- Check that the custom tool is added to the assistant and the prompt is correctly set to call the tool after collecting the address.
Summary
This SOP explains setting up a custom tool in an AI assistant to collect and save client addresses for roof inspection appointments. Steps include creating the tool, configuring the webhook, mapping fields to the contact profile, and testing the setup. This setup ensures that address data is saved accurately for streamlined client scheduling and notification processes.