Center card on deal record with both attachments and custom file properties

I need some help. I would like to create a tab on all my real records that is called Files and it will show all different types of files that have been added to this deal. Some would come from custom properties and some would come from attachments via email etc.

I can’t seem to find a way to get attachments to show in the middle column. Would I need to webhook the files api and have them show in a custom property?

Hi @DHicks9,

At this point, that’s not possible natively / without custom API work / without integrations, correct. For now, attachments will only display in the right sidebar.

File upload properties can be placed in any property card in the middle section, that’s not an issue:

For the API route, attachments require you to work with the files and engagements endpoint: Add attachment to contact using api - #2 by coldrickjack

For file properties, it seems to be the same in principle - I wasn’t able to find any forum reference to this but some research with AI suggests the same. Adding the disclaimer here that these steps might be inaccurate.

The property’s underlying type is string with fieldType: "file". HubSpot’s fieldType options include textarea, text, date, file, number, select, radio, checkbox, or booleancheckbox, controlling how the property appears when used as a form field. A file property stores files associated with a record, but if a file isn’t uploaded using a form, the property will be a single-line text property — meaning via the API you’re really just writing a value (typically a file URL) into a text-style field, not “uploading” through the property endpoint itself.

Upload the file first (Files API), then set the property. The typical workflow is:

  • Upload the file to HubSpot’s File Manager using the Files API (POST /files/v3/files), which returns a file URL/ID.
  • Then PATCH the record’s property with that URL as the value, the same way you’d update any other property: make a PATCH request to crm/v3/objects/{objectType}/{recordId}, including the properties and their values in an array. HubSpot

Standard PATCH mechanics apply — same as any property update: you use a curl request like PATCH https://api.hubapi.com/crm/v3/objects/deals/dealId with an authorization bearer token, content-type json, and a properties object containing the internal property name and new value. Note you have to use the internal name of the property you want to update, not the label.

If you want to get show everything in the middle section, the approach I’d suggest is getting the file IDs from attachments, then use them to patch into file properties which you can display in a middle section - maybe then remove them as attachments to avoid redundancy.

If you’re open to third party solutions, you can also review offerings in the HubSpot app marketplace for file management.

Other users have requested this before but the product team has flagged the request as “not currently planned”. Still, you can upvote the request here to signal that you’re also interested in that feature. Eventually, the demand might be high enough for HubSpot too look into it:

Best regards!