---
updatedAt: 2026-07-15T04:42:31.000Z
agentTools:
  projectIndex: https://docs.conveyor.com/llms.txt
---

# Adding the "Upload Questionnaire" Button to a Custom Object

## Overview

Conveyor's Salesforce managed package ships with an "Upload Questionnaire(s)" button on the Account, Opportunity, and Case objects. The Lightning component behind that button, `Conveyor:Upload_Questionnaire`, is globally accessible, so you can also add the same button to any custom object in your org.

This guide walks you through creating a quick action on your custom object that opens the Conveyor upload form, and adding that action to your page layout.

<Callout icon="📘" theme="info">
  ### Before you start

  This guide assumes you have already installed the Conveyor managed package (version 1.52 or later) and completed the setup described in [Uploading a Questionnaire from Salesforce (Managed Package)](https://docs.conveyor.com/docs/uploading-a-questionnaire-from-salesforce-managed-package), including the OAuth integration. If the standard button works on your Account object, you are ready to proceed.
</Callout>

## Step 1: Create a Quick Action on Your Custom Object

1. In Salesforce, go to **Setup**.
2. Open **Object Manager** and select your custom object.
3. In the left sidebar, click **Buttons, Links, and Actions**.
4. Click **New Action**.
5. Fill in the action details:
   * **Action Type**: `Lightning Component`
   * **Lightning Component**: `Conveyor:Upload_Questionnaire`
   * **Height**: `250px`
   * **Label**: `Upload Questionnaire(s)` (or any label you prefer)
   * **Name**: `Upload_Questionnaire`
6. Click **Save**.

## Step 2: Add the Action to Your Page Layout

1. Still in Object Manager for your custom object, click **Page Layouts** in the left sidebar.
2. Select the layout your users see.
3. In the layout editor palette, select the **Mobile & Lightning Actions** category.
4. Drag your new **Upload Questionnaire(s)** action into the **Salesforce Mobile and Lightning Experience Actions** section of the layout.
   * If that section shows predefined actions, hover over it and click the wrench icon to override the predefined actions first.
5. Click **Save**.

The button now appears in the highlights panel of your custom object's record pages. Clicking it opens the same upload form as the standard button: users pick a file (or portal link), enter the customer's web domain, select product lines, and upload straight to Conveyor.

## Permissions

Users need the same access required for the standard button:

* Access to the Conveyor Apex classes and Lightning components. If you installed the package for **All Users**, this is already in place. If you installed for **Admins Only**, grant access to the Conveyor package components via a profile or permission set.
* Permission to upload files to records of your custom object. The form attaches the uploaded file to the record before sending it to Conveyor.

## Differences from the Standard Objects

The upload form works the same way on custom objects, with one difference: field prefilling. On Account, Opportunity, and Case records, the form prefills the customer's web domain (a required field) and customer name from the related account. On a custom object, Conveyor does not know which of your fields hold that information, so:

* **Web domain**: users must type the customer's web domain (e.g. `google.com`) into the form. The upload will not proceed without a valid domain.
* **Customer name**: this optional value is normally read from the related account and sent to Conveyor behind the scenes. On a custom object it is omitted, and the questionnaire displays in Conveyor without it.

Everything else carries over:

* The questionnaire is linked back to your custom object record in Conveyor.
* Uploaded files are attached to the record in Salesforce.
* Product lines, questionnaire type settings, and multi-file RFP uploads all work as they do on standard objects.

## Troubleshooting

* `Conveyor:Upload_Questionnaire`**&#x20;does not appear in the Lightning Component dropdown**: Make sure your org is on version 1.52 or later of the Conveyor package. Earlier versions do not expose the component outside the package.
* **The form opens but the upload fails**: Verify the OAuth integration is set up per the [main setup guide](https://docs.conveyor.com/docs/uploading-a-questionnaire-from-salesforce-managed-package), and that the user has access to the Conveyor Apex classes.

<br />