---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, Model Components, Extend BPs, Extend Business Processes, Model Business Processes, Extend BP]
nav: wcp_docs
parent_url: /wcp_docs/
title: Use the REST API to Create Custom Business Process Types
layout: subsection
---

### Prerequisites

<a id="prereq_N10021_N1001E_N10001"></a>
-   Set up your custom app that you want to access from Workday.
-   Security: <i>Custom Business Process</i> domain in the System functional area.
-   [Configure Domain Security Policies](/wcp_docs/obj1536188707340.html).


### Steps

1.  <a id="step_N1002C_N10029_N1001E_N10001"></a>Make an <i>eventTaskDefinitions</i> POST request in the customBusinessProcessConfig service. Use the information from the custom app you have created for your custom business process type.

    You must use {eventId} at the end of the vpsRoute.

    Example: POST https://api.workday.com/customBusinessProcessConfig/v1/eventTaskDefinitions

    ```
    {
      "referenceIdValue":"Event_Details",
      "name": "Workdog Event Details",
      "description": "View page used for Event details",
      "vpsApp": "insert here",
      "vpsSite": "insert here",
      "vpsRoute": "/eventDetail/{eventId}"
    }
    ```

2.  <a id="step_N10049_N10029_N1001E_N10001"></a>Make a <i>types</i> POST request in the customBusinessProcessConfig service, pulling in the eventTaskDefinitions from your eventTaskDefinitions POST request.

    Example: POST https://api.workday.com/customBusinessProcessConfig/v1/types

    ```
    {
      "referenceIdValue":"Workdog_App",
      "name":" Workdog App",
      "description":"Approval process for the Workdog app",
        
      "targetBusinessObject": {
            "descriptor": "Worker",
            "id": "766f3df40606431e8229445f1fe283c3"
        },
         "customObjectDefinition": {
            "descriptor": "workdog",
            "id": "Insert the custom object Workday ID here"
        },
        "eventActions":[
                     {
                       "id":"Event_Action_Type_ID=APPROVE"
                    },
                     { "id":"Event_Action_Type_ID=SEND_BACK"
                    },
                     { "id":"Event_Action_Type_ID=CANCEL"
                    },
                     { "id":"Event_Action_Type_ID=DENY"                 
                    }
                     ],
      "initiatingActions":
         [
            {
               "referenceIdValue" : "Register_Workdog",
               "name": "Register Workdog",
               "default": true,
               "customTask":
               {"id" : "Insert custom task Workday ID here" }
            }
          ],
            "eventActionTaskConfig": [
                    {
                        "eventTaskDefinition":
                        {
                            "id": "Event_Task_Definition_ID='Exact Reference ID from one of the definitions created in the POST eventTaskDefinition operation'"
                        },
                        "eventAction": 
                        { 
                            "id":  "Event_Action_Type_ID=APPROVE"
                        }
                    },
                    {
                       "eventTaskDefinition":
                        {
                            "id": "Event_Task_Definition_ID='Exact Reference ID from one of the definitions created in the POST eventTaskDefinition operation'"
                        },
                       "eventAction":
                       {
                            "id":  "Event_Action_Type_ID=REVISE"
                        }
                    },
                    {
                       "eventTaskDefinition":
                        {  
                            "id":  "Event_Task_Definition_ID='Exact Reference ID from one of the definitions created in the POST eventTaskDefinition operation'"
                        },
                        "eventAction":
                        {
                             "id":  "Event_Action_Type_ID=DETAILS"
                        }
                    }
     
                ]
    }
    ```

    For this request:

    -   The available event actions are Approve, Send Back, Deny, Cancel, and Details.
    -   You must enable the Approve event action to configure an eventTaskDefinition for Approve.
    -   You must enable the Send Back event action to configure an eventTaskDefinition for Revise.
    -   You don't need to enable the Details event action to configure an eventTaskDefinition for Details.
    -   You can create multiple initiating allowed actions. The initiating allowed action marked as default is used when you launch your custom business process event if you don't specify an initiating action at that time.
    -   You can select Worker as the Target Business Object.
    -   You can select an effective dated custom object enabled for the Worker business object.



### Related Information

[Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html)

