What the model is told
Add a note to an existing Keap contact, for example a summary of the conversation. Find the contact's ID first with Find Keap Contact by Email. Keep the note factual and brief. Returns the saved note.
Request
POSThttps://api.infusionsoft.com/crm/rest/v2/contacts/{{contactId}}/notes
Headers
AuthorizationBearer YOUR_KEAP_API_KEYAcceptapplication/jsonContent-Typeapplication/json
Body
{
"title": "{{title}}",
"text": "{{text}}",
"type": "Call",
"user_id": "YOUR_KEAP_USER_ID"
}Parameters
contactId stringThe Keap ID of the contact, from Find Keap Contact by Email.title stringA short title for the note.text stringThe text of the note.
Engage payload
{
"source": "VOICE_AI",
"tool": {
"id": "3c0dc9df-e98c-40b1-87d8-8a9865f89a10",
"type": "HTTP_REQUEST",
"label": "Add Keap Note to Contact",
"name": "add_keap_note_to_contact",
"customName": false,
"description": "Add a note to an existing Keap contact, for example a summary of the conversation. Find the contact's ID first with Find Keap Contact by Email. Keep the note factual and brief. Returns the saved note.",
"parameters": [
{
"name": "contactId",
"type": "string",
"description": "The Keap ID of the contact, from Find Keap Contact by Email."
},
{
"name": "title",
"type": "string",
"description": "A short title for the note."
},
{
"name": "text",
"type": "string",
"description": "The text of the note."
}
],
"config": {
"endpoint": {
"method": "POST",
"url": "https://api.infusionsoft.com/crm/rest/v2/contacts/{{contactId}}/notes"
},
"headers": [
{
"name": "Authorization",
"value": "Bearer YOUR_KEAP_API_KEY"
},
{
"name": "Accept",
"value": "application/json"
},
{
"name": "Content-Type",
"value": "application/json"
}
],
"body": "{\n \"title\": \"{{title}}\",\n \"text\": \"{{text}}\",\n \"type\": \"Call\",\n \"user_id\": \"YOUR_KEAP_USER_ID\"\n}",
"timeout": null
}
}
}IDs are regenerated on every copy.