Less Annoying CRM logo Less Annoying CRM LACRM
Core API Functions

Notes

Notes can be attached to contacts to keep track of details about your interactions with them. Each note is just a simple text field with a timestamp attached. All notes must be attached to exactly one contact (there's no way to enter a stand-alone note).

Create a note

This function attaches a new note to a contact or company in the CRM. The contact/company must already exist before you can call this function.

How to call this function
Function name
CreateNote
Parameters
ContactId Uid Required

The Id of the contact or company you want to attach a note to.

Note Text Required

The note you want to attach to the contact. This is a plain text field, so things like html or markdown will be escaped, but new lines are honored.

DateDisplayedInHistory DateTime

The exact date and time the note should be shown in the contact's history. If you don't pass a value, we'll default to the current time.

Response
{
"NoteId": "3951915205284082058648657417930"
}

Edit a note

This function edits an existing note.

How to call this function
Function name
EditNote
Parameters
NoteId Uid Required

The Id for the note you want to edit. If you don't already know the note's Id, you can find it using either GetNotes or GetNotesAttachedToContact.

Note Text

An updated note. This will completely overwrite the previous note unless you don't pass a note at all, in which case we'll leave whatever the previous note was.

DateDisplayedInHistory DateTime

A new timestamp for this when this note should be shown on a contact's history. If you don't pass this, we'll keep the existing date.

Response
This function doesn't return anything. If there's no error message returned, that means the call was completed successfully.

Delete a note

This function deletes a note from a contact's profile.

How to call this function
Function name
DeleteNote
Parameters
NoteId Uid Required

The Id for the note you want to edit. If you don't already know the note's Id, you can find it using either GetNotes or GetNotesAttachedToContact.

Response
This function doesn't return anything. If there's no error message returned, that means the call was completed successfully.

Get a note

This function gets a single note. This is a rarely-used function because in most cases it's more useful to call GetNotes to get a feed of all the notes that have been entered in your CRM, or GetNotesAttachedToContact to get all the notes for a specific contact.

How to call this function
Function name
GetNote
Parameters
NoteId Uid Required

The Id for the note you want to get. If you don't already know the note's Id, you can get it using either GetNotes or GetNotesAttachedToContact.

Response
{
"NoteId": "3951915205295611273694726904229",
"ContactId": "3951915205295611273694725849239",
"UserId": "123",
"DateCreated": "2024-04-23T04:00:20-07:00",
"DateDisplayedInHistory": "2024-04-23T04:00:20-07:00",
"Note": "I called and got their voicemail. I'll try again next week.",
"ContactMetaData": {
"Name": "John Doe",
"AssignedTo": "123456"
}
"UserMetaData": {
"FirstName": "Your",
"LastName": "Name"
}
"PipelineInfo": {
"PipelineId": "3951915205297917116703939320939",
"PipelineItemId": "3951915205297917116703940850887",
"StatusId": "3951915205297917116703939717748",
"PreviousStatusId": "3951915205297917116703939599755",
"PipelineMetaData": {
"Name": "Sales Leads"
}
"StatusMetaData": {
"Name": "Prospect"
}
}
"IsRichText": false
}

List all notes

This function gets a list of all notes entered in the CRM. You can pass additional parameters to filter and sort the results.

How to call this function
Function name
GetNotes
Parameters
SortDirection Enum Default: Descending
Valid options: Ascending, Descending

This list will always be sorted by the date of the notes. By default it will list the newest note first, but you can reverse the order if you'd like.

DateFilterStart DateTime Default: NULL

If you specify this parameter, only notes entered on or after the date you choose will be returned.

DateFilterEnd DateTime Default: NULL

If you specify this parameter, only notes entered on or before the date you choose will be returned.

UserFilter Array of Uids Default: []

If you'd like to only see notes entered by specific users, pass their UserIds into this field and we'll filter the results to only show those users' notes.

ContactId Uid

If you specify this parameter, only notes attached to this contact will be returned. Alternatively, you can call GetNotesAttachedToContact to get the same results.

MaxNumberOfResults Number Default: 500

How many results should be returned from a single API call? The max value is 10,000. If you need to return more results, call this API function again, but increment the Page parameter.

Page Number Default: 1

If there are more results than MaxNumberOfResults, you can call this function again with an incremented Page value to get the next page of results. For example, if there are 700 results, but you're only requesting 500 at a time, you could call this function with Page=2 to get the remaining 200 results.

Response
{
"HasMoreResults": false,
"Results": [
{
"NoteId": "3951915205304834645731581058070",
"ContactId": "3951915205307140488740795330079",
"UserId": "123",
"DateCreated": "2024-04-23T04:00:20-07:00",
"DateDisplayedInHistory": "2024-04-23T04:00:20-07:00",
"Note": "I called and got their voicemail. I'll try again next week.",
"ContactMetaData": {
"Name": "John Doe",
"AssignedTo": "123456"
}
"UserMetaData": {
"FirstName": "Your",
"LastName": "Name"
}
"PipelineInfo": {
"PipelineId": "3951915205307140488740793754074",
"PipelineItemId": "3951915205307140488740795334900",
"StatusId": "3951915205307140488740795334333",
"PreviousStatusId": "3951915205309446331750009065383",
"PipelineMetaData": {
"Name": "Sales Leads"
}
"StatusMetaData": {
"Name": "Prospect"
}
}
"IsRichText": false
},
{...},
{...}
]
}

Get contact notes

Returns all notes for a contact.

How to call this function
Function name
GetNotesAttachedToContact
Parameters
ContactId Uid Required

The contact to get notes for.

MaxNumberOfResults Number Default: 500

How many results should be returned from a single API call? The max value is 10,000. If you need to return more results, call this API function again, but increment the Page parameter.

Page Number Default: 1

If there are more results than MaxNumberOfResults, you can call this function again with an incremented Page value to get the next page of results. For example, if there are 700 results, but you're only requesting 500 at a time, you could call this function with Page=2 to get the remaining 200 results.

Response
{
"HasMoreResults": false,
"Results": [
{
"NoteId": "3951915205314058017768435322078",
"ContactId": "3951915205314058017768436202021",
"UserId": "123",
"DateCreated": "2024-04-23T04:00:20-07:00",
"DateDisplayedInHistory": "2024-04-23T04:00:20-07:00",
"Note": "I called and got their voicemail. I'll try again next week.",
"ContactMetaData": {
"Name": "John Doe",
"AssignedTo": "123456"
}
"UserMetaData": {
"FirstName": "Your",
"LastName": "Name"
}
"PipelineInfo": {
"PipelineId": "3951915205316363860777649610230",
"PipelineItemId": "3951915205316363860777649511094",
"StatusId": "3951915205316363860777649391737",
"PreviousStatusId": "3951915205316363860777649620294",
"PipelineMetaData": {
"Name": "Sales Leads"
}
"StatusMetaData": {
"Name": "Prospect"
}
}
"IsRichText": false
},
{...},
{...}
]
}