> ## Documentation Index
> Fetch the complete documentation index at: https://docs.introw.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Capture partner files in your CRM

> Files partners upload on a form or a shared deal land on the CRM record as real files: HubSpot attachments, or Salesforce Files on the record.

The documents a partner hands you, such as a purchase order, a signed proposal or a proof of spend, belong on the CRM record next to the rest of the deal.
Introw uploads them to your CRM as real files, on HubSpot and on Salesforce, so your reps open them from the record and nothing lives only in the portal.

## What you'll achieve

Every file a partner uploads through a form, or shares on a deal they collaborate on, appears on the matching CRM record together with a note that says who sent it.
Your team opens the file from the record itself, with no portal link to follow and no manual re-upload.

## Where the files come from

Two partner actions send a file to your CRM:

* **A file upload field on a form**, such as the proof of spend on an MDF claim or the order form on a deal registration.
  Every file in the submission goes onto the form's note on the records the submission created or updated.
* **A file shared on a deal they collaborate on.**
  The file goes onto the note Introw logs on that deal for the upload.

## What lands in each CRM

| CRM | Where the file lands | Where the note lands |
| - | - | - |
| **HubSpot** | Uploaded to HubSpot's **Files** tool, in a private folder at `/introw/<partner name>`, and attached to the note, so it shows in the record's **Attachments** card. | On every record the submission wrote or the deal it was shared on. |
| **Salesforce** | Uploaded as a Salesforce File and listed under **Files** on the record. On a form, the file is published on the form's main record, a Lead first, then the Opportunity or custom object, then the Contact or Account, and shared onto the other records the note goes on. | A Chatter post on each record's feed that carries the file, with any extra files attached to the same post. |

## Before you start

**1. Connect your CRM**

Files ride on the CRM connection, so connect it first.
See [Connect HubSpot](./connect-hubspot) or [Connect Salesforce](./connect-salesforce).

**2. On HubSpot, grant the files scope**

HubSpot only accepts uploads when the connection carries the `files` scope.
Older connections may predate it: reconnect when Introw asks you to.
See [HubSpot permissions and scopes](./hubspot-permissions-and-scopes).

**3. On Salesforce, check Files and feed tracking**

The integration user needs to create Salesforce Files, and **Feed Tracking** has to be on for each object the note lands on, because the note is a Chatter post.
See [Salesforce permissions and scopes](./salesforce-permissions-and-scopes#when-introw-needs-write-access).

## Steps

**1. Add a file upload field to the form**

In the form builder, add a **File upload** field where partners attach the document.
You do not need to map it to a CRM property: the file reaches the CRM through the form's note on the records the automation writes.
See [Build and publish a form](/features/forms/form-builder/guides/build-and-publish-a-form).

**2. Give the form a CRM automation**

The note, and with it the file, goes on the records the form writes, so the form needs at least one CRM object automation.
See [Connect a form to your CRM](/features/forms/crm-automations/guides/connect-a-form-to-your-crm).

**3. Share deals for collaboration**

For files a partner shares on a deal, the deal must be shared with them.
See [Collaborate on a shared deal](/features/co-selling/shared-pipelines/guides/collaborate-on-a-shared-deal).

## Verify it worked

Submit a test through a partner link with a file attached, then open the record the form wrote.
On HubSpot, the file is in the record's **Attachments** card and the form note sits on the timeline.
On Salesforce, the file is under **Files** on the record and the Chatter post on its feed shows the file.

## Limits & gotchas

* **Mapping an upload field to a property writes a link, not a file.**
  The property gets a link to the file in Introw, which only someone with Introw access opens.
  HubSpot file-type properties are not supported as a target, so leave the field unmapped and let the note carry the file.
* **Salesforce keeps the note when it refuses the file post.**
  Introw posts a plain note instead, so the comment is never lost.
  On a form, the file is still under **Files** on the main record.
* **No feed, no note on Salesforce.**
  On an object without **Feed Tracking**, Introw skips the note on that record.
  A form's file still lands under **Files** on the main record, but a file shared on a deal without a feed does not reach Salesforce.
* **One upload per file.**
  The same file in two fields of one submission is uploaded once.

## Related

> **[Connect a form to your CRM](/features/forms/crm-automations/guides/connect-a-form-to-your-crm)**
>
> Set up the automation that decides which records get the note.

> **[Collaborate on a shared deal](/features/co-selling/shared-pipelines/guides/collaborate-on-a-shared-deal)**
>
> Share a deal and keep files and comments on the record.

> **[HubSpot permissions and scopes](./hubspot-permissions-and-scopes)**
>
> The `files` scope behind HubSpot uploads.

> **[Salesforce permissions and scopes](./salesforce-permissions-and-scopes)**
>
> What the integration user needs to post files.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.