Audience: build-along attendees (customer-facing). Everything on this page is fictional: Copperline Equipment Finance, its customers and their addresses were made up for the AppExchange Amplified build-along.
This page sets up Copperline's data in your org: the fields and the one new object the build needs, then the sample customers and deals you test it with. Start once the prerequisites page is done. Create the fields any time before you build the flows; create the sample records only once your folder flows are on, as the note at the end explains. The sample documents are on the business case page.
Copperline uses the standard Account and Opportunity objects as they are. You add a handful of fields and one small object, nothing more.
All of this is done in Setup, Object Manager. To add a field: open the object, go to Fields & Relationships, click New, pick the type, and enter the label and API name from the tables below. Accept the default field-level security and add the field to the page layout when asked.
| Label | API name | Type | What it is for |
|---|---|---|---|
| Authorized Signatory | Authorized_Signatory__c |
Text (255) | The person who signs for the borrower |
| Folder Id | Folder_Id__c |
Text (255) | The customer's folder in storage |
| Drive Id | Drive_Id__c |
Text (255) | The drive that folder lives in |
| Billing City State Zip | Billing_City_State_Zip__c |
Formula, return type Text: BillingCity & ", " & BillingState & " " & BillingPostalCode |
The borrower's city line on the finance agreement |
The borrower's address uses the standard Billing Address on Account. For the formula field, choose Formula as the type, then Text as the return type, and paste the formula into the Advanced Formula box.
| Label | API name | Type |
|---|---|---|
| Supplier Name | Supplier_Name__c |
Text (150) |
| Invoice Number | Invoice_Number__c |
Text (50) |
| Invoice Date | Invoice_Date__c |
Date |
| Invoice Amount | Invoice_Amount__c |
Currency (16, 2). The total due, including tax |
| Payment Terms | Payment_Terms__c |
Picklist: Due on receipt, Net 15, Net 30, Net 45, Net 60 |
| Asset Description | Asset_Description__c |
Long Text Area (1000) |
| Equipment Make | Equipment_Make__c |
Text (100) |
| Equipment Model | Equipment_Model__c |
Text (100) |
| Serial Number | Serial_Number__c |
Text (80) |
| Year of Manufacture | Year_of_Manufacture__c |
Text (4). Text rather than Number, so the year shows as 2025 and not 2,025 |
| Agreement Number | Agreement_Number__c |
Auto Number, display format CEF-{YYYY}-{0000}, starting number 2041. It counts up from 2041, so only the first deal's number matches the one printed on its signed sample agreement |
| Agreement File Name | Agreement_File_Name__c |
Formula, return type Text: Agreement_Number__c & " Finance Agreement - UNSIGNED". The generated agreement PDF is named from it |
| Folder Id | Folder_Id__c |
Text (255) |
| Drive Id | Drive_Id__c |
Text (255) |
| Application Folder Id | Application_Folder_Id__c |
Text (255) |
| Supplier Invoice Folder Id | Supplier_Invoice_Folder_Id__c |
Text (255) |
| Identity Folder Id | Identity_Folder_Id__c |
Text (255) |
| Agreement Folder Id | Agreement_Folder_Id__c |
Text (255) |
| Others Folder Id | Others_Folder_Id__c |
Text (255) |
The first ten are the invoice details Copperline types by hand today. Agreement Number gives every deal its agreement reference. Folder Id and Drive Id hold the deal's own folder, so documents can be filed underneath it. The five subfolder Folder Ids hold each subfolder's id, saved when the folders are created, so a document can be moved straight into the right one. On Google Drive this matters: a flow cannot find a subfolder by its name and path there.
<aside> ⚠️
Get Year of Manufacture right before you build any flow. Once a flow uses a field, Salesforce will not let you change its type, so check now that it is Text (4) and not Number.
</aside>
One record for every document uploaded to a deal. In Object Manager, click Create, Custom Object, with label Related Document, plural Related Documents, and API name Related_Document__c. Leave the record name as Text. Tick Launch New Custom Tab Wizard after saving so the object has a tab, then add these fields:
| Label | API name | Type |
|---|---|---|
| Opportunity | Opportunity__c |
Lookup (Opportunity). When asked, add the Related Documents related list to the Opportunity page layout, so each deal's documents show on the Opportunity |
| Document Type | Document_Type__c |
Picklist: Application Form, Supplier Invoice, Identity Document, Agreement, Other |
| File Name | File_Name__c |
Text (255) |
| Resource Id | Resource_Id__c |
Text (255) |
| Drive Id | Drive_Id__c |
Text (255) |
| Library | Library__c |
Text (50) |
A file or folder in storage is identified by four things together: its Resource Id, its Drive Id, the Library it lives in, and whether it is a file or a folder. CloudFiles actions expect all four, which is why they are kept on the record rather than just the id.
Create these by hand. They match the three sample document sets on the business case page, so the documents you upload belong to the records you upload them to.
Accounts
| Account Name | Billing Address | Authorized Signatory |
|---|---|---|
| Granite Peak Excavation | 7350 Brighton Boulevard, Commerce City, CO 80022 | Marcus Delgado |
| Sweetwater Bakehouse | 1914 Pearl Street, Boulder, CO 80302 | Elena Park |