You are here:
Create a Service Process to Manage Expenses
Your employees can use this service process to submit expense reports for categories, such as wellness reimbursements, office and IT supplies, and more, all from Employee Portal. Approvals are routed automatically, which simplifies the workflow for employees and approvers and reduces manual work. You can configure and manage expense policies and limits, ensuring financial compliance and transparency. This service process is available only if you use Workday for expense management.
Required Editions
| View supported editions. |
| User Permissions Needed | |
|---|---|
| To open, edit, or create a flow in Flow Builder | Manage Flow |
See Also
Create a Service Process and Add Attributes
- From the App Launcher, find and select Unified Catalog.
- From the sidebar, click Services.
- Click New Service.
- Click Service Process, and then click Next.
- Enter a name for the service process.
- Save your changes.
- Click Next.
-
In the Attribute Canvas section, add attributes to the service process.
Name Data Type Parent Attribute DocumentName Text ExpenseItems ExpenseCategory Text ExpenseItems CostCentre Text CurrencyId Text ExpenseItems Description Text ExpenseItems DocumentId Attachment ExpenseItems ExpenseDate Text ExpenseItems ExpenseItems ListOfMaps ItemTypeId Text ExpenseItems PerUnitAmount Number ExpenseItems Quantity Number ExpenseItems ReportDate Text TotalAmount Number ExpenseItems - Click Next.
- Save your changes.
Configure the Intake Form
- In Setup, find and select Flows.
- Click New Flow.
- In the Screen category, click View All.
- In the Templates section, click the Create Expense Report template.
-
In the Add Expense Categories element, add the expense categories you want to fetch
expense items for, such as wellness reimbursement and IT supplies.
Set the ExpenseCategories variable to the category IDs.
- After the Review Expense Report Details element, add an Action element.
- In the Action element, select a dynamic invocable action by searching with the name or ID of the service process you created.
-
Enter the name and description for the action, and set the input values.
Input Value Variable CostCenter costCenter ExpenseItems FormattedExpenses ReportDate reportDate - After the Action element, add an Assignment element.
-
Enter the name and description for the Assignment element, and set the caseId variable to
the anchorEntityId returned by the Action element.
The case ID is used in the succeeding elements to update the case record.
- Add the Sending Notifications invocable action if you want to send Slack notifications to the employee.
- Click Save as New Flow, and activate the flow.
Create an Integration Definition
Before creating an integration definition, enable the Workday Expense Management MuleSoft integration app in the org. When you create the integration definition, use the named credential that's created for the enabled integration instance. To create the integration definition, use the Apex class sfdc_employee_service.EmployeeServiceIntegration. See Create an Integration Definition.
Configure the Fulfillment Flow
- In Setup, find and select Flows.
- Click New Flow.
- In the Autolaunched category, click View All.
- In the Templates section, click the Process Employee Service Request template.
- To send an email when the manager rejects a service request, edit the Send Rejection Email to the Employee action.
- To send an email when the manager approves a service request, edit the Send Service Request Processed email action.
- Under Configure Sender Details, add sender type and sender's email address.
- Click Save, and activate the flow.
- Click New Flow.
- In the Triggered category, click View All.
- In the Types section, click the Record-Triggered Flow Approval Process type.
-
Configure Start.
In formula, replace the Product ID placeholder with the ID of the service process created previously.
- At the Process Service Request step, click Update Manager Decision.
- Under Select an Action to Run, select the flow you created previously from the Process Employee Service Request template.
-
Set input values.
Field Value approvalDecision Send Service Request for Approval > Assign Case to Manager > Outputs > approvalDecision integrationDefinitionApiName <Integration definition API Name> rejectionMessage Send Service Request for Approval > Assign Case to Manager > Outputs > approvalComments svcCatalogReqId System (global variable) > Triggering Case > Case Source ID (SvcCatalogRequest) > Service Catalog Request ID (record field) - Click Save, and activate the flow.
Attach the Intake Form
- From the App Launcher, find and select Unified Catalog.
- From the sidebar, click Services.
- Click the service process you created.
- In the Intake Form screen, click Attach an Existing Form.
- Select Screen Flow, and then click Next.
- Select the intake flow you configured, and then click Next.
- Save your changes, and click Activate.
Add the Service Process to a Catalog
Select an existing catalog or create a new catalog.
- From the Unified Catalog navigation menu, click Catalogs.
- Click New.
- Enter the required information, and select Service Process as the catalog type.
- Save your changes.
- In the Categories section, click New Category.
- Enter the required information, and save your changes.
- In the Categories section, click the category you created.
- Click Add, and select Existing Products and Services.
- Select the service process you created, and save your changes.
Configure the Unified Catalog Component
- From Setup, in the Quick Find box, enter All Sites, and then select All Sites.
- Next to the name of your Employee Portal site, click Builder.
- From Home, click Service Catalog in the builder page menu.
- In the builder canvas, delete the Employee Portal Service Catalog component.
- From the Components pane, drag the Unified Catalog component onto the content section of builder canvas.
-
In the Unified Catalog pane, enter the record ID.
The Record Id field is populated with {!recordId} by default. If you add the Unified Catalog component to catalog pages and want the Record Id value to be automatically populated at runtime based on the user-selected catalog, retain {!recordId} as the value. If you add the component to any other page, enter the unique ID of a catalog in the Record Id field. See Locate the Unique ID of a Record in Salesforce.
-
In the Unified Catalog pane, type custom titles in the Component Title and All Services
Tab Title fields.
To configure other fields, see Customize the Product-Browsing Experience.

