Loading
Ongoing maintenance for Salesforce HelpRead More
Feature degradation | Gmail Email delivery failureRead More
Service
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          MuleSoft API Specifications for Agent Actions and Service Processes

          MuleSoft API Specifications for Agent Actions and Service Processes

          These API specifications are designed to provide a clear and structured framework for integrating and managing various agent actions within the MuleSoft environment. Each API is tailored to support specific agent actions, ensuring that users can efficiently handle tasks such as managing absences, updating worker details, processing payment enrollments, and managing expense reports.

          Required Editions

          View supported editions.
          Absence Management API
          Section Example
          RAML Header
          #%RAML 1.0
          title: Absence Management API
          description: The Absence Management API is intended to provide operations for managing employee time off, including fetching time off balances and submitting time off requests.
          version: 1.0
          mediaType: application/json
          protocols:
            - HTTPS
          documentation:
            - title: Absence Management domain
              content: |- 
                The Absence Management domain contains the following sections:
                  - Get Time Off Plan Balances
                  - Submit Time Off
            - title: Absence Management sub groups
              content: |- 
                The Absence Management sub-groups contain the following sections:
                  - Time Off Balances
                  - Time Off Requests
          Resources / Methods
          /Get_Time_Off_Plan_Balances/{employee_id}:
            displayName: Get Time Off Balance
            get:
              description: Fetches the time off plan balances for a specific employee.
              displayName: Get Time Off Balance
          
          Responses
          responses:
            '200':
              description: Time off plan balances were returned successfully.
              body:
                application/json:
                  type: object
            '400':
              description: Bad request, e.g., invalid query parameters.
              body:
                application/json:
                  type: object
            '404':
              description: Resource not found.
              body:
                application/json:
                  type: string
            '429':
              description: Too many requests, rate limit exceeded.
              body:
                application/json:
                  type: object
          Headers / Query Parameters
          queryParameters:
            effective_date?:
              description: The date for which the balances are effective.
              type: date-only
          Data Types
          types:
            AbsencePlan:
              description: Represents an absence plan with its associated leaves.
              type: object
              properties:
                planId:
                  required: true
                  description: Unique identifier for the absence plan.
                  type: string
                planName:
                  required: true
                  description: Name of the absence plan.
                  type: string
                quantity:
                  required: true
                  description: Total quantity of leave available.
                  type: integer
                unit:
                  required: true
                  description: Unit of measurement for the leave quantity (e.g., hours, days).
                  type: string
                leaves:
                  required: true
                  description: List of leave types within the plan.
                  type: array
                  items:
                    type: object
                    properties:
                      leaveTypeId:
                        required: true
                        description: Unique identifier for the leave type.
                        type: string
                      leaveType:
                        required: true
                        description: Type of leave (e.g., sick, casual).
                        type: string
                      quantity:
                        required: true
                        description: Quantity of leave available for this type.
                        type: integer
                      unit:
                        required: true
                        description: Unit of measurement for the leave type quantity (e.g., hours, days).
                        type: string
          Examples
          {
          "absencePlan":
          [
          {
          "planId": "PTO_USA",
          "planName":"paid_time_off_usa",
          "quantity": 60,
          "unit": "hours",
          "leaves":
          [
          {
          "leaveTypeId": "SICK_HOUR",
          "leaveType":"sick",
          "quantity":30,
          "unit":"hours"
          },
          {
          "leaveTypeId": "CASUAL_HOUR",
          "leaveType":"casual",
          "quantity":30,
          "unit":"hours"
          }
          ]
          },
          {
          "planId":"FH_USA",
          "planName":"floating_holiday_usa",
          "leaves": [
          {
          "leaveTypeId": "VACATION_HOUR",
          "leaveType":"vacation",
          "quantity":16,
          "unit":"hours"
          }
          ]
          }
          ]
          }
          
          Update Worker Details API
          Section Examples
          RAML Header
          #%RAML 1.0
          title: Update Worker Details API
          description: The Update Worker Details API is intended to provide operations for updating various details of a worker, including address, email, phone, preferred name, and pronoun.
          version: v1
          mediaType: application/json
          protocols:
            - HTTPS
          documentation:
            - title: Worker Details domain
              content: |- 
                The Worker Details domain contains the following sections:
                  - Update Worker Details
            - title: Worker Details sub groups
              content: |- 
                The Worker Details sub-groups contain the following sections:
                  - Address
                  - Email
                  - Phone
                  - Preferred Name
                  - Pronoun
          Resources / Methods
          /Update_Worker_Details:
            displayName: Update Worker Details
            post:
              description: Updates the worker's details, including address, email, phone, preferred name, and pronoun.
              displayName: Update Worker Details
          
          Responses
          responses:
            '200':
              description: Worker details were updated successfully.
              body:
                application/json:
                  type: object
                application/xml:
                  type: object
            '400':
              description: Bad request, e.g., invalid parameters.
              body:
                application/json:
                  type: object
            '404':
              description: Resource not found.
              body:
                application/json:
                  type: string
            '429':
              description: Too many requests, rate limit exceeded.
              body:
                application/json:
                  type: object
            '500':
              description: Internal server error.
              body:
                application/json:
                  type: object
          
          Headers / Query Parameters
          # No specific headers or query parameters for this resource
          Data Types
          types:
            WorkerDetails:
              description: Represents the details of a worker that can be updated.
              type: object
              properties:
                workerID:
                  required: true
                  description: Unique identifier for the worker.
                  type: string
                effectiveDate?:
                  description: The date from which the changes are effective.
                  type: date-only
                address?:
                  description: Worker's address details.
                  type: object
                  properties:
                    line1:
                      required: true
                      description: Address line 1.
                      type: string
                    line2?:
                      description: Address line 2.
                      type: string
                    city:
                      required: true
                      description: City.
                      type: string
                    country:
                      required: true
                      description: Country.
                      type: string
                    postalCode:
                      required: true
                      description: Postal code.
                      type: string
                    region:
                      required: true
                      description: Region.
                      type: string
                    isPrimary?:
                      description: Indicates if this is the primary address.
                      type: boolean
                      default: false
                    communicationType?:
                      description: Type of communication address.
                      type: string
                      default: "Home"
                    replaceAllNonPrimary?:
                      description: Indicates if all non-primary addresses should be replaced.
                      type: boolean
                      default: false
                email?:
                  description: Worker's email details.
                  type: object
                  properties:
                    emailAddress:
                      required: true
                      description: Email address.
                      type: string
                    isPrimary?:
                      description: Indicates if this is the primary email.
                      type: boolean
                      default: false
                    communicationType?:
                      description: Type of communication email.
                      type: string
                      default: "Home"
                    replaceAllNonPrimary?:
                      description: Indicates if all non-primary emails should be replaced.
                      type: boolean
                      default: false
                phone?:
                  description: Worker's phone details.
                  type: object
                  properties:
                    mobile:
                      required: true
                      description: Mobile phone number.
                      type: string
                    isPrimary?:
                      description: Indicates if this is the primary phone.
                      type: boolean
                      default: false
                    communicationType?:
                      description: Type of communication phone.
                      type: string
                      default: "Home"
                    deviceType?:
                      description: Type of device.
                      type: string
                      default: "Mobile"
                    countryCode?:
                      description: Country code.
                      type: string
                    replaceAllNonPrimary?:
                      description: Indicates if all non-primary phones should be replaced.
                      type: boolean
                      default: false
                preferredName?:
                  description: Worker's preferred name details.
                  type: object
                  properties:
                    firstName:
                      required: true
                      description: First name.
                      type: string
                    lastName:
                      required: true
                      description: Last name.
                      type: string
                    country:
                      required: true
                      description: Country.
                      type: string
                pronoun?:
                  description: Worker's preferred pronoun.
                  type: string
          Payment Enrollments API
          Section Example
          RAML Header
          #%RAML 1.0
          title: Employee Payment Enrollment API
          description: The Employee Payment Enrollment API is intended to provide operations for fetching and submitting employee payment enrollment details, including bank account information and payment allocations for various payment types like regular pay, bonuses, and expenses.
          version: 1.0
          mediaType: application/json
          protocols:
            - HTTPS
          documentation:
            - title: Payment Enrollment domain
              content: |- 
                The Payment Enrollment domain contains the following sections:
                  - Fetch Payment Enrollments
                  - Submit Payment Elections
            - title: Payment Enrollment sub groups
              content: |- 
                The Payment Enrollment sub-groups contain the following sections:
                  - Payment Type Group Name
                  - Allocations
                  - Bank Account Details
                  - Distribution
          
          Resources / Methods
          /payment-enrollments/{employeeId}:
            displayName: Payment Enrollments
            get:
              description: Fetches payment enrollment details for a specific employee.
              displayName: Get Payment Enrollments
            post:
              description: Submits a payment election enrollment for a specific employee.
              displayName: Submit Payment Elections
          Responses
          responses:
            '200':
              description: Payment enrollment details were returned successfully.
              body:
                application/json:
                  type: object
            '201':
              description: Payment election enrollment was submitted successfully.
              body:
                application/json:
                  type: object
            '400':
              description: Invalid request. Missing or incorrect parameters.
              body:
                application/json:
                  type: object
            '403':
              description: Unauthorized or insufficient permissions to submit the payment election enrollment.
              body:
                application/json:
                  type: object
            '500':
              description: Internal server error.
              body:
                application/json:
                  type: object
          
          Headers / Query Parameters
          get:
              description: Fetch payment enrollment details.
              displayName: Get Payment Enrollments
              queryParameters:
                routingId?:
                  type: string
                  required: false
                  description: Optional routing identifier.
                  displayName: Routing ID
                bankAccountType?:
                  type: string
                  required: false
                  description: Type of account to filter, for example, Checking or Savings
          Data Types
          types:
            PaymentEnrollment:
              description: Represents the payment enrollment details for an employee.
              type: object
              properties:
                employeeId:
                  required: true
                  description: Unique identifier for the employee.
                  type: string
                paymentEnrollments:
                  required: true
                  description: List of payment enrollment groups.
                  type: array
                  items:
                    type: object
                    properties:
                      paymentTypeGroupName:
                        required: true
                        description: Group name for the type of payment.
                        type: string
                        enum:
                          - REGULAR_PAYMENTS
                          - BONUS_PAYMENTS
                          - EXPENSE_PAYMENTS
                      allocations:
                        required: true
                        description: Details on how payments within this group are allocated.
                        type: array
                        items:
                          type: object
                          properties:
                            paymentType:
                              required: true
                              description: Type of payment for this allocation.
                              type: string
                              enum:
                                - DIRECT_DEPOSIT
                                - CHECK
                              default: DIRECT_DEPOSIT
                            bankAccountDetails:
                              required: true
          description: Bank account details for the payment.
                              type: object
                              properties:
                                AccountNumber:
                                  required: true
                                  description: Employee’s bank account number.
                                  type: string
                                bankIdNumber:
                                  required: true
                                  description: Bank routing or ID number.
                                  type: string
                                bankName:
                                  required: true
                                  description: Name of the bank.
                                  type: string
                                accountType:
                                  required: true
                                  description: Type of account, for example, Savings or Checking.
                                  type: string
                                  enum:
                                    - Checking
                                    - Savings
          nameOnAccount:
                                  required: true
                                  description: The name of the account holder as registered with the bank.
                                  type: string
                                bankAccountNickname?:
                                  description: Optional nickname for the bank account.
                                  type: string
                                iban?:
                                  description: International Bank Account Number (if applicable).
                                  type: string
                                branchIdNumber?:
                                  description: Specific branch identifier, if applicable.
                                  type: string
                                rollNumber?:
          description: Account roll number, used in some countries (e.g., UK building societies).
                                  type: string
                                currencyCode:
                                  required: true
                                  description: Currency of the bank account (e.g., "USD").
                                  type: string
                                countryCode:
                                  required: true
                                  description: Country where the bank account is held (e.g., "US").
                                  type: string
                                additionalFields?:
                                  description: Custom fields specific to this allocation.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      fieldName:
                                        required: true
                                        description: Name of the custom field.
                                        type: string
                                      fieldValue:
                                        required: true
                                        description: Value of the custom field (can be any simple type).
                                        type: object
                            distribution:
                              required: true
                              description: Defines how much of the payment is allocated here.
                              type: object
                              properties:
                                type:
                                  required: true
                                  description: Type of distribution, for example, PERCENT.
                                  type: string
                                  enum:
                                    - PERCENT
                                    - AMOUNT
                                    - BALANCE
                                value:
                                  required: true
                                  description: The actual percentage, amount, or indicator for balance.
                                  type: any
                            currencyCode:
                              required: true
                              description: Currency for this specific allocation (e.g., "USD").
                              type: string
                            countryCode:
                              required: true
                              description: Country context for this allocation (e.g., "US").
                              type: string
                            order:
                              required: true
                              description: The sequence/priority of this allocation among others in the same group. Lower numbers typically process first.
                              type: number
                            additionalFields?:
                              description: Custom fields specific to this allocation.
                              type: array
                              items:
                                type: object
                                properties:
                                  fieldName:
                                    required: true
                                    description: Name of the custom field.
                                    type: string
                                  fieldValue:
                                    required: true
                                    description: Value of the custom field (can be any simple type).
                                    type: object
          
              
          Workday Expense Management API
          Section Example
          RAML Header
          #%RAML 1.0
          title: WD Expense Management API
          description: The WD Expense Management API is intended to provide operations for retrieving available expense item types and submitting new expense reports, including individual expense lines and attachments.
          version: 1.0.0
          mediaType: application/json
          protocols:
            - HTTPS
          documentation:
            - title: Expense Management domain
              content: |- 
                The Expense Management domain contains the following sections:
                  - Get Expense Items
                  - Submit Expense Report
                  - Get Expense Reports
            - title: Expense Management sub groups
              content: |- 
                The Expense Management sub-groups contain the following sections:
                  - Expense Item
                  - Expense Report
                  - Expense Line
                  - Attachment
          
          Resources / Methods
          /expense-items:
            displayName: Get Expense Items
            get:
              description: Fetches a list of available expense types that can be used when submitting an expense report.
              displayName: Get Expense Items
          
          /expense-reports:
            displayName: Expense Reports
            post:
              description: Creates and submits a new expense report with associated expenses and attachments.
              displayName: Submit Expense Report
            get:
              description: Fetches existing expense reports.
              displayName: Get Expense Reports
          
          Responses
          responses:
            '200':
              description: Successful retrieval.
              body:
                application/json:
                  type: array
            '201':
              description: Successfully created.
              body:
                application/json:
                  type: object
            '400':
              description: The request was invalid or cannot be parsed.
              body:
                application/json:
                  type: object
            '403':
              description: Unauthorized or insufficient permissions to submit the expense report.
              body:
                application/json:
                  type: object
            '405':
              description: Method not allowed.
              body:
                application/json:
                  type: object
            '500':
              description: Internal server error.
              body:
                application/json:
                  type: object
          Headers / Query Parameters
          get:
              displayName: Get Expense Reports
              queryParameters:
                orgId?:
                  type: string
                employeeId?:
                  type: string
          Data Types
          types:
            Attachment:
              description: Represents an attachment file for an expense item.
              type: object
              properties:
                file_name:
                  required: true
                  description: Name of the attachment file.
                  type: string
                file_content:
                  required: true
                  description: Base64 encoded string of the file's content.
                  type: string
                content_type:
                  required: true
                  description: MIME type of the file.
                  type: string
          
            Expense:
              description: Represents an individual expense item in an expense report.
              type: object
              properties:
                item_id:
                  required: true
                  description: Unique identifier for the expense item type.
                  type: string
                amount:
                  required: true
                  description: Cost per unit of the expense.
                  type: number
                quantity:
                  required: true
                  description: Quantity of the expense item.
                  type: number
                total_amount:
                  required: true
                  description: Total cost for this line (typically amount * quantity).
                  type: number
                currency:
                  required: true
                  description: Currency code for the amount (e.g., "USD").
                  type: string
                memo?:
                  description: A note or description for this specific expense line.
                  type: string
                expense_date:
                  required: true
          
           
          Loading
          Salesforce Help | Article