Access Person Notes with Dynamic Content Liquid Syntax

I have a Person Notes tab in my app on every contact record, which contains a Person Notes large text field and nothing else. I want to use Dynamic Content to access this field. However, in the Dynamic Content Editor I cannot seem to find anything like that. I have tried a number of ideas that might work, and I found that it is called ContactNotes according to the table schema. So I tried several variants like [[ contact.contact_notes ]] [[ contact.contactNotes ]] [[ contact.person_notes ]], and none of them worked. Is this field accessible with Dynamic Content and Liquid Syntax? Keap chat support was entirely standoffish. They directed me here and offered no input at all.

In an old style email builder in a campaign, not the new one, I was able to find ~Contact.ContactNotes~ in the merge fields. This does call the entirety of the Person Notes field. Turning it to Liquid doesn’t seem to do anything, as already mentioned.

Good afternoon DVM!

This was posted in our API section, but does not appear to be an API question, so I moved it over to our Max Classic forum instead in case any of our subject-area specialists knows of a workaround.

As it is, I’m actually not sure that it is currently possible to merge that object into a template using the new builder, as you have noticed. Under the hood Notes are a type of Contact Action, similar to Appointments or Tasks in Max Classic and not a truly singular text field stored on the Contact itself, and as the option does not appear in the new builder the new service that provides mergables does not appear to have yet integrated that related object.

If the need is immediate the method I would follow would be to utilize the API to pull the existing Notes objects from each Contact and append them into a Custom Field on that Contact instead, which would then make them available to merge. However, you would have to change your workflow to use that Custom Field in the future as well rather than the Notes field.

  • Tom Scott
    Keap API Engineer
1 Like

Thank you, Tom. At the moment, I’m just needing this on an internally used email. I don’t foresee any mission critical uses in the future, so I’ve decided to depend on the legacy email builder to accomplish this. Will this legacy builder be retired someday? I have a ton of other emails in old campaigns that were built with the legacy builder. Thanks.

Try Contact.ContactNotes — case specific


Thank you for the suggestion, Jeff, but [[ contact.ContactNotes ]] nor [[ Contact.ContactNotes ]] work. In fact, I have tried all combinations of capitalizing those letters and with an underscore or period between contact and notes:

[[ contact.contactnotes ]]
[[ Contact.contactnotes ]]
[[ contact.Contactnotes ]]
[[ contact.contactNotes ]]
[[ Contact.Contactnotes ]]
[[ Contact.contactNotes ]]
[[ contact.ContactNotes ]]
[[ Contact.ContactNotes ]]

Hmmm … the version I gave you was the API call field. Since that didn’t work and that field isn’t part of the Dynamic Content drop down, I’m guessing it isn’t callable from the Dynamic Content.

One workaround would be to use Make or Zapier (or direct API) to feed the data out, where you can grab the Person Notes field via API, and feed that into a custom text area and then use that custom text area in your content. Not ideal, but a solution if this is mission critical.


1 Like