Published at: 2026-09-17

Build a custom business APP in 30 minutes


This tutorial uses Delivery Management as an example to create a minimum business workflow, from data modeling to user-side validation. When you finish, business users can create and view delivery records from an application entry point. Administrators can control pages and permissions, and add an approval or automation as needed.
[!NOTE] The 30-minute estimate assumes that you are familiar with Setup. It does not include requirements review, historical data migration, complex process design, or production release. Menu names can vary by edition or tenant. Use the options in your actual Setup as the source of truth.

What you will build

Delivery Management application
  +-- Delivery Record object
      +-- Data: consignee, mobile number, address, status, and proof of delivery
      +-- Pages: form page, details page, and list page
      +-- Entry point: platform application or CRM application view
      +-- Permissions: administrator and delivery user
      +-- Automation: approval process or workflow (optional)
This tutorial first creates a working prototype and then explains the validation and governance required before production release.

Before you begin

Confirm the following:
  • You have administrative permissions for objects, interfaces, permissions, and processes.
  • You can use a standard user test account to validate the user experience.
  • You will not use real accounts, mobile numbers, addresses, or attachments in this exercise.
  • If your enterprise has enabled a sandbox, complete this exercise in the sandbox.
Record the minimum requirements for this exercise: delivery users create delivery records and update their status; administrators can view all delivery records; other users do not need access to the application.

Step 1: Create the Delivery Record object

  1. Go to the custom object management page, and select New.
  2. Enter Delivery Record as the object name, describe its purpose, and select an icon.
  3. Keep the generated API Name. Change it only when you have a defined development or integration standard.
  4. Save the object.
Create an object from the custom object list
[!TIP] For a standard business scenario, first determine whether you can reuse a standard object. Create a custom object only when existing objects cannot accurately represent the business meaning.

Step 2: Configure the record name

The primary attribute identifies a record in lists, details, and related-record selectors. An Auto Number such as PS-202608-0001 is usually suitable for a delivery record.
  1. Go to the primary attribute settings for Delivery Record.
  2. Select Auto Number, and configure the prefix, number pattern, and starting value.
  3. If the business already has an external delivery record number, you can select a text field and store the external number in a separate field.
  4. Save the settings.
Set the primary attribute of Delivery Record to Auto Number

Step 3: Add the minimum business fields

Start with the fields required to complete the delivery workflow. Avoid adding information that you do not yet need.
Field name Recommended type Required Purpose
Consignee Single-Line Text Yes Identifies the consignee
Contact Number Mobile Yes Provides a way to contact the consignee
Delivery Address Dynamic Address or Multi-Line Text Yes Records the delivery location
Scheduled Delivery Time Date Time No Schedules the delivery task
Delivery Status Single Select Yes Recommended options are Pending Delivery, In Transit, Delivered, and Cancelled
Proof of Delivery Photo Photo No Stores evidence that the delivery was received
Notes Multi-Line Text No Stores exception details or other information
Add and save each field. Set the default value of Delivery Status to Pending Delivery.
[!IMPORTANT] Required fields, uniqueness, and default values affect user entry, imports, and historical data. Before production release, confirm that existing data and every entry point can meet these constraints.

Step 4: Configure page layouts

Page layouts determine what users see in different scenarios. Configure at least these three types of pages:
  1. Form page: Add Consignee, Contact Number, Delivery Address, Scheduled Delivery Time, Delivery Status, and Notes in that order.
  2. Details page: Emphasize Delivery Status, Owner, Scheduled Delivery Time, and Proof of Delivery Photo, and retain the Basic Info section.
  3. List page: Display the delivery record number, Consignee, Delivery Status, Scheduled Delivery Time, and Owner. Add filters for common statuses.
  4. Assign the layout to the role or Record Type used for this test.
  5. Save and preview the layout.
Open the layout configuration for the Delivery Record object
Do not add complex components yet. First confirm that business users can create, edit, view, and filter delivery records. Then improve the pages incrementally.

Step 5: Create an application entry point

Creating an object does not automatically make it accessible to business users. You must add the object to an application, view, or menu.
  1. Go to application management and create a platform application. Enter Delivery Management as the application name.
  2. Configure its icon and Applicable Scope. Select only the delivery team and administrators.
  3. Create a Web or mobile application view, and add Delivery Record to the menu.
  4. Add Delivery Management to the Web or App main navigation as needed.
  5. Enable the application or view.
Create an application from the platform application list
[!NOTE] Applicable Scope determines whether users can see the entry point. Role permissions determine which operations they can perform. Data Permission determines which records they can access. Validate all three together.

Step 6: Configure minimum permissions

Prepare two roles and assign them to the test accounts:
Role Functional and object permissions Field permissions Data Range
Delivery administrator View, create, edit, and perform the management operations required by the business View and edit all business fields View all records in the delivery business scope
Delivery user View, create, and edit Edit delivery information and status without access to unrelated sensitive fields View only records that the user owns or that are explicitly shared
Use the following configuration order:
  1. Confirm that the role can see the Delivery Management entry point.
  2. Grant object operation permissions for Delivery Record.
  3. Configure which fields are visible and editable.
  4. Configure record-level Data Permission by Owner, Assigned Department, or Related Teams.
  5. Add data sharing rules only when cross-team collaboration is required.
Follow the principle of least privilege. Do not grant full permissions merely to pass a test.

Step 7: Add automation (optional)

A prototype does not always require a process. If the business requires automation, select a capability based on the goal:
Goal Capability Example
Require human authorization Approval Process Send a special delivery request to a supervisor for approval
Run an action automatically after a field changes Workflow Send a notification after the status changes to Delivered
Have multiple users handle tasks in sequence Business Process Process warehouse outbound, delivery, and receipt in sequence
Advance tasks through lifecycle stages Pipeline Manage Pending Delivery, In Transit, and Delivered as stages
Use variables, branches, or complex data operations Flow Assign an owner by delivery area and update related data
For the first exercise, you can configure a simple Workflow. When Delivery Status changes to Delivered, send a notification to the delivery administrator. Save and enable the Workflow, and then trigger it with a test record.

Step 8: Validate the complete business workflow

Validate with both delivery-user and delivery-administrator accounts. Do not only verify that the configuration was saved in Setup.

Delivery user

  1. The user can see the Delivery Management entry point but cannot see unrelated administrative menus.
  2. The user can create a delivery record, and required fields and default values work as expected.
  3. The user can filter the list and open delivery records that they own.
  4. The user can update Delivery Status and upload a Proof of Delivery Photo.
  5. The user cannot access unauthorized records or fields.

Delivery administrator

  1. The administrator can view delivery records within the business scope.
  2. The administrator can view all fields required for this test.
  3. The administrator can process or monitor the configured process.
  4. The administrator can find test data by owner, status, and time.

Clients and exception scenarios

  • Check layouts on both the Web and mobile clients.
  • Try omitting a required field, entering duplicate data, and performing an unauthorized operation.
  • Confirm that notifications, to-dos, and process records are generated as expected.
  • Before deleting exercise data, confirm that no other test record or process references it.

Pre-release checks

This tutorial creates a minimum prototype. Before production release, also complete the following work:
  • Ask the business owner to confirm field definitions, status definitions, process boundaries, and acceptance criteria.
  • Add Validation Rules, Duplicate Rules, Layout Rules, and required object relationships.
  • Assess initial data import, data cleansing, historical data, and attachment migration.
  • Complete business acceptance testing with the actual permission combinations for each role.
  • For global organizations, add Language Support, Time Zones, Regional Formats, Multi-Currency Management, and address configuration.
  • For printing, email, e-signatures, or SMS, complete integration testing for templates and plugins.
  • Test high-risk changes in a Sandbox and validate and deploy them through a Change Set.
  • Record the owner, release time, validation results, and rollback plan.

Next steps

  • Read Business customization platform to understand the complete capability boundaries.
  • Read Core terms to understand objects, permissions, processes, and releases.
  • Continue with Object customization, Interface customization, Process customization, and Organizations and permissions.
Submit Feedback