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
- Go to the custom object management page, and select New.
- Enter
Delivery Recordas the object name, describe its purpose, and select an icon. - Keep the generated API Name. Change it only when you have a defined development or integration standard.
- Save the object.

[!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.- Go to the primary attribute settings for Delivery Record.
- Select Auto Number, and configure the prefix, number pattern, and starting value.
- 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.
- Save the settings.

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:
- Form page: Add Consignee, Contact Number, Delivery Address, Scheduled Delivery Time, Delivery Status, and Notes in that order.
- Details page: Emphasize Delivery Status, Owner, Scheduled Delivery Time, and Proof of Delivery Photo, and retain the Basic Info section.
- List page: Display the delivery record number, Consignee, Delivery Status, Scheduled Delivery Time, and Owner. Add filters for common statuses.
- Assign the layout to the role or Record Type used for this test.
- Save and preview the layout.

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.
- Go to application management and create a platform application. Enter
Delivery Managementas the application name. - Configure its icon and Applicable Scope. Select only the delivery team and administrators.
- Create a Web or mobile application view, and add Delivery Record to the menu.
- Add Delivery Management to the Web or App main navigation as needed.
- Enable the application or view.

[!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:
- Confirm that the role can see the Delivery Management entry point.
- Grant object operation permissions for Delivery Record.
- Configure which fields are visible and editable.
- Configure record-level Data Permission by Owner, Assigned Department, or Related Teams.
- 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
- The user can see the Delivery Management entry point but cannot see unrelated administrative menus.
- The user can create a delivery record, and required fields and default values work as expected.
- The user can filter the list and open delivery records that they own.
- The user can update Delivery Status and upload a Proof of Delivery Photo.
- The user cannot access unauthorized records or fields.
Delivery administrator
- The administrator can view delivery records within the business scope.
- The administrator can view all fields required for this test.
- The administrator can process or monitor the configured process.
- 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.