Skip to main content
POST
Create a note
Attaches a plain-text note to a person (a Contact) or a company (a Company). You name the target by what you already know about it, such as an email address, a LinkedIn URL or a website, instead of by contact-list and contact IDs, so you can attach a note without looking the person up in a list first. If no matching record exists yet, Salesfinity creates a minimal Contact or Company from the identifiers you send and attaches the note to it.

How the target is matched

Salesfinity tries the identifiers you send in the order below and uses the first one that matches a record on your team. The others are not checked against it. Send at least one identifier for the chosen type. Identifiers that belong to the other type are accepted and ignored.
Emails are compared exactly, and Salesfinity stores them in lowercase. Send [email protected], not [email protected]: a mixed-case address that matches nobody creates a second contact for the same person.

Request body

Person identifiers (type: "person")

Supply at least one of: Optionally, link a company when a new Contact has to be created. Both are ignored when the person already exists.

Company identifiers (type: "company")

Supply at least one of:

Example request: person

Example request: company

Response (201)

Returns the created note object. A person note has contact set; a company note has company set.

Retries

Creating a note is not idempotent: every successful call adds another note. If a request times out, call List notes with the same identifiers before you send it again. Only the author, the user_id you send here, can later update or delete the note. Any team member can pin it.

Errors

Authorizations

x-api-key
string
header
required

Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API & Webhooks. A missing or invalid key returns HTTP 403.

Body

application/json
type
enum<string>
required

Kind of record to attach the note to: person (a contact) or company. Decides which identifier fields apply.

Available options:
person,
company
Example:

"person"

user_id
string
required

ID of the team member who authors the note, a 24-character hex string. Must be a member of the team that owns the API key. Only this member can later edit or delete the note.

Example:

"507f1f77bcf86cd799439033"

content
string
required

Plain text of the note, 1 to 10,000 characters.

Maximum string length: 10000
Example:

"Mentioned moving back from Lisbon next quarter."

linkedin_url
string

LinkedIn profile URL. Person only. The username after /in/ is extracted and matched. Person notes need at least one of linkedin_url, email, crm_id or phone.

Maximum string length: 500
Example:

"https://www.linkedin.com/in/janedoe"

email
string<email>

Email address. Person only. Must be a valid email address. Matched exactly, and Salesfinity stores emails in lowercase, so send it in lowercase; a mixed-case address that matches nobody creates a new contact.

Maximum string length: 320
crm_id
string

The contact's record ID in your connected CRM, as Salesfinity imported it (for example a Salesforce Contact ID or a HubSpot contact ID). Person only. Matched exactly.

Maximum string length: 200
Example:

"0035e00000AbCdEAAZ"

phone
string

Phone number in E.164 format. Person only. Matched exactly against the contact's stored numbers; saved as a mobile number on a newly created contact.

Maximum string length: 50
Example:

"+14155552671"

company_name
string

Company to link a newly created contact to, matched or created like a company note's name. Person only. Ignored when the person already exists.

Maximum string length: 300
Example:

"Acme Corp"

company_website
string

Website of the company to link a newly created contact to, matched or created like a company note's website_url. Person only. Ignored when the person already exists.

Maximum string length: 500
Example:

"https://acme.com"

website_url
string

Company website. Company only. Matched on its hostname, lowercased and without www., so https://www.acme.com/about matches acme.com. Company notes need at least one of website_url or name.

Maximum string length: 500
Example:

"https://acme.com"

name
string

Company name. Company only. Matched case-insensitively against the whole name. A company created from it is named exactly as sent.

Maximum string length: 300
Example:

"Acme Corp"

Response

The note was created. The body is the note.

_id
string

Note ID.

Example:

"6703f1c2a9e4b8d1c2f3a4b5"

team
string

Team that owns the note.

Example:

"507f1f77bcf86cd799439012"

author
object

The author, with first_name, last_name, email and image when Salesfinity has them. null if the author's user record no longer exists.

content
string

Plain text of the note.

is_pinned
boolean

Whether the note is pinned. false for a new note.

pinned_at
string<date-time> | null

When the note was pinned. Absent when the note is not pinned.

pinned_by
string | null

ID of the member who pinned the note. Absent when the note is not pinned.

contact
string | null

ID of the contact the note is attached to. Present on person notes only.

company
string | null

ID of the company the note is attached to. Present on company notes only.

createdAt
string<date-time>

When the note was created.

updatedAt
string<date-time>

When the note was last changed, including pin changes.