APIs & Integrations

RR81
Member

Need to add a new attrbiute in call records

SOLVE

Hi, I am currently fetching call metadata using this API endpoint 

client.crm.objects.calls.search_api.do_search(), and I would like to add a new attribute for the calls to add my own metadata for each call, I am planning on using a JSON/nested JSON for this (although it is not decided), what changes do I have to make? 

The Calls - v3 | HubSpot API documentations says that the required to scope to modify the call record is crm.objects.contacts.write and not using "crm.objects.contacts.write" 

Also how do I add my custom schema to the call metadata  ?

Thank you
  
0 Upvotes
2 Accepted solutions
RubenBurdin
Solution
Top Contributor

Need to add a new attrbiute in call records

SOLVE

Hi RR81 👋

You're right to use client.crm.objects.calls.search_api.do_search() to fetch call data — but to add your own metadata, you’ll need to create a custom property on the Call object. HubSpot doesn’t let you modify the built-in metadata schema or store nested JSON directly in it.

Here is a breakdown:

To Add Custom Metadata

  1. Create a custom property for the Call object (via Settings → Properties or the Properties API).

    • Use a Long text field type (best for JSON strings).

    • Example internal name: call_metadata.

  2. Update a Call record with your JSON (as string):

 

api.crm.objects.calls.basic_api.update(
    call_id,
    simple_public_object_input={"properties": {
        "call_metadata": json.dumps(your_data)
    }}
)

 

  1. 3. Fetch metadata via .search_api.do_search() by including your custom property name in properties.

About Scopes

The correct scope is crm.objects.calls.write.
crm.objects.contacts.write only applies to Contact records — so you're right not to use it.

 

Let me know if you need help with the property creation or formatting your data.

Happy to help further!

-Ruben.

Did my answer help? Please mark it as a solution to help others find it too.

Ruben Burdin Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner

View solution in original post

nickdeckerdevs1
Solution
Top Contributor | Gold Partner
Top Contributor | Gold Partner

Need to add a new attrbiute in call records

SOLVE

I will add that there is no long text property. There is multi line, single line and rich text 

 

they all have the same character limit

 

"A plain text string, limited to 65,536 characters."

from this doc page 

View solution in original post

0 Upvotes
6 Replies 6
RubenBurdin
Solution
Top Contributor

Need to add a new attrbiute in call records

SOLVE

Hi RR81 👋

You're right to use client.crm.objects.calls.search_api.do_search() to fetch call data — but to add your own metadata, you’ll need to create a custom property on the Call object. HubSpot doesn’t let you modify the built-in metadata schema or store nested JSON directly in it.

Here is a breakdown:

To Add Custom Metadata

  1. Create a custom property for the Call object (via Settings → Properties or the Properties API).

    • Use a Long text field type (best for JSON strings).

    • Example internal name: call_metadata.

  2. Update a Call record with your JSON (as string):

 

api.crm.objects.calls.basic_api.update(
    call_id,
    simple_public_object_input={"properties": {
        "call_metadata": json.dumps(your_data)
    }}
)

 

  1. 3. Fetch metadata via .search_api.do_search() by including your custom property name in properties.

About Scopes

The correct scope is crm.objects.calls.write.
crm.objects.contacts.write only applies to Contact records — so you're right not to use it.

 

Let me know if you need help with the property creation or formatting your data.

Happy to help further!

-Ruben.

Did my answer help? Please mark it as a solution to help others find it too.

Ruben Burdin Ruben Burdin
HubSpot Advisor
Founder @ Stacksync
Real-Time Data Sync between any CRM and Database
Stacksync Banner
nickdeckerdevs1
Solution
Top Contributor | Gold Partner
Top Contributor | Gold Partner

Need to add a new attrbiute in call records

SOLVE

I will add that there is no long text property. There is multi line, single line and rich text 

 

they all have the same character limit

 

"A plain text string, limited to 65,536 characters."

from this doc page 

0 Upvotes
nickdeckerdevs1
Top Contributor | Gold Partner
Top Contributor | Gold Partner

Need to add a new attrbiute in call records

SOLVE

You can create custom properties on calls object?

 

omg what am I doing with my life?? I've never clicked on properties in always just goto the objects list. 

Smh

0 Upvotes
RR81
Member

Need to add a new attrbiute in call records

SOLVE

Hi, I am currently fetching call metadata using this API endpoint 

client.crm.objects.calls.search_api.do_search(), and I would like to add a new attribute for the calls to add my own metadata for each call, I am planning on using a JSON for this (although it is not decided), what changes do I have to make? 

Thank you
  
0 Upvotes
Jaycee_Lewis
Community Manager
Community Manager

Need to add a new attrbiute in call records

SOLVE

Merging a duplicate post — Jaycee





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More




0 Upvotes
nickdeckerdevs1
Top Contributor | Gold Partner
Top Contributor | Gold Partner

Need to add a new attrbiute in call records

SOLVE

There is no way to add properties to the calls. What is available is what is available.

What are you trying to do? What data are you trying to include, I can try to help figure out a work around with you.

0 Upvotes