/
Rest API Workflow Action

Rest API Workflow Action

  • Description: REST API acts as a communication link between two platforms, enabling interaction through methods like GET (retrieve), POST (create), PUT (update), and DELETE (remove)


  • Path: (Rest API can be executed using Model and Workflow)

    • PWR Apps platform > Login > Business Node > Layout > Open a layout > Workflow > Rest API Action

    • PWR Apps platform > Login > Business Node > Layout > Open a layout > Model


  • Rest API Using Model

    • Prerequisite:

    • Create a Model:

      • Details:

        • Type: API

        • Connection: Choose the desired connection to fetch records from

        • Label: Auto-populates, mirroring the connection Label

        • Name: Auto-populates, mirroring the connection name.

        • Execute on load: If checked, records will be fetched automatically upon loading the component

        • Refer:

      • Request:

        • Method:

          • Choose from HTTP methods like Get, Post, Put, Delete, Head, or Patch based on the operation you want to perform

        • URL: Add the relevant URL that corresponds to the connection from which you wish to get, create, update, or delete records

        • Record Count: Set the record count to either Multirecord or Single, depending on whether you are dealing with multiple records or a single record in the data operation

        • Body > Schema Designer:

          • Generate Schema: Users can define fields using JSON format. For example

            {     "Date": "05/12/2023",     "Date and Time": "05/12/2023 11: 40 AM",     "Double": 51.21,     "Integer": 399,     "Object": "",     "Text": "Smith" }
          • Create New Fields: Users can create fields using create field Model

      • Response:

        • Response: User can create new response with the help of status code

        • Schema Designer:

          • Generate Schema: Users can define fields using JSON format. For example

            {     "Date": "05/12/2023",     "Date and Time": "05/12/2023 11: 40 AM",     "Double": 51.21,     "Integer": 399,     "Object": "",     "Text": "Smith",     "Array": [] }

             

          • Create New Fields: Users can create fields using create field Model

 

  • Crud using Rest API with Model in Workflow:

 

  • To Fetch Records: Get > Create a new layout and name it as Rest API Presentation

    • Create a New layout

    • Table Setup:

      • Drag and drop a Table component onto layout Designer

      • Add Table action as New and Refresh

      • Add row action on Table as Edit and Delete

    • Assign Model to Table Component:

      • Assign a model to the Table with the following details:

        • Type: API

        • Connection: Choose a connection e.g. Sales Connect

        • Label gets Auto-populates e.g. Sales Connect

        • Name gets Auto-populates e.g. Sales Connect

    • Request:

      • Method: GET

      • URL: /services/data/v56.0/query?q=select id,name,site from account

      • Record Count: Multirecord

    • Response:

      • Define or create a schema to fetch the response. This schema will structure the data received from the API call

        {     "data": {         "records": {             "Name": " ",             "Id": " ",             "Site": " "         }     } }
    • In Component Attributes:

      • Basic:

        • Model: Select the model e.g. Sales Connect

        • Schema Source: Select "Response" as the source

        • Response Code: Set the response code to 200

        • In Fields:

          • Select data > record

        • Click on the Table component, and the Model fields will be displayed on the left side

        • Drag drop the fields on the Table component

    • Create a new workflow (defining Label and Name)

      • Show Spinner Action:

        • Drag and drop the "Show Spinner Action"

        • Define layout item (e.g., Table), variant, and size

      • Rest API Action:

        • Drag and drop the "Rest API Action"

        • Set the Source API Type to Model

        • Choose the Model (e.g., Sales Connect) assigned to the Table

      • Hide Spinner Action:

        • Drag and drop the "Hide Spinner Action"

        • Define the layout item

      • Connect Actions:

        • Connect the actions in the workflow

    • Call the workflow on component events

      • Refresh : tableAction

        • Select Action as Workflow

        • Select Config and define Workflow: (Select the workflow create for Get e.g. Get and Save)

      • Save & Run the Layout

      • Preview:

        • On preview, click on the Refresh Button.

        • The Get workflow will be executed, fetching the records

 

  • To Create Records: POST > Create a new layout and name it as Rest API Post

    • Form Setup:

      • Drag and drop a Form component onto layout Designer

      • Add Form Action as Cancel and Save

    • Assign Model to Form Component:

      • Assign a model to the Form with the following details:

        • Type: API

        • Connection: Choose a connection e.g. Sales Connect

        • Label gets Auto-populates e.g. Sales Connect

        • Name gets Auto-populates e.g. Sales Connect

    • Request:

      • Method: Post

      • URL: /services/data/v56.0/sobjects/Account

      • Record Count: Single

      • Body > Schema Designer

        • Define or create a schema to fetch the response. This schema will structure the data received from the API call

    • Response: No need to define response for POST

    • In Component Attributes:

      • Basic:

        • Model: Select the model e.g. Sales Connect

        • Schema Source: Select "Request" as the source

        • Now Fields will be displayed at the left corner drag and drop the fields on the form

    • Create a new workflow (defining Label and Name)

      • Rest API Action:

        • Drag and drop the "Rest API Action"

        • Set the Source API Type to Model

        • Choose the Model (e.g., Sales Connect) assigned to the Form

      • Toaster Action:

        • Drag and drop the "Toaster Action."

        • Fill Type with "Success" and Message with "Record created successfully!"

        • Save the Toaster Action

      • Emit Action:

        • Drag and drop the "Emit Action"

        • Add the event you have created

        • Save the Emit Action

      • Connect Actions:

        • Connect the actions in the workflow

    • Call the workflow on component events

      • Click on the form and navigate to Events > Save : Action.

      • Select Action as Workflow

      • Select Config and define Workflow: (Select the workflow create for Post e.g. Post and Save)

    • Save & Run the Layout

    • Preview:

      • On preview, check if the record is getting saved by clicking on the Save Button

    • Note: To execute CRUD for the Rest API go to the layout where you have drag dropped the table i.e. Rest API Presentation

      • Follow these steps on the layout where you have drag dropped the table

        • Create a Pop and refresh work flow

          • Drag and drop POP action and add label and Save

          • Drag and drop Workflow action and select the workflow created for Refresh Button

          • Connect the actions and Save the workflow

        • Click on the table and navigate to Events > New : tableAction

        • Select Action as Push Modal

        • Select Config and define Push Modal model

          • Layout: Choose the layout created for the POST method e.g Connection Post

          • Modal Header: Create New Records

          • Modal Size: Large

          • Event Mapping:

            • Event: Select the event created on the POST Method layout

            • Workflow: Select the Pop and Refresh workflow

        • And Save

      • Save & Run the Layout

      • Preview:

        • On preview, click on the New Button.

        • And fill the data in the fields and save

        • Check the same on Connected app i.e. Salesforce Account >navigate to Accounts from app launcher > view the change

 

  • To Update Records: Patch > Create a new layout and name it as Rest API Patch

  • Form Setup:

    • Drag and drop a Form component onto layout Designer

    • Add Form Action as Cancel and Update

  • Create a variable:

    • Add Label & Name

    • Type: Object

    • Add Schema:

      • Add Label and Name

      • Field Type: Object

      • Schema: Add Schema Id, Name and Site

    • And Save

  • Assign Model to Form Component:

    • Assign a model to the Form with the following details:

      • Type: API

      • Connection: Choose a connection e.g. Sales Connect

      • Label gets Auto-populates e.g. Sales Connect

      • Name gets Auto-populates e.g. Sales Connect

  • Request:

    • Method: Patch

    • URL: /services/data/v56.0/sobjects/Account/{variable:object.Id}

      • (Note: Use merge text for Id)

    • Record Count: Single

    • Body > Schema Designer

      • Define or create a schema to fetch the response. This schema will structure the data received from the API call

  • Response: No need to define response for Patch

  • In Component Attributes:

    • Basic:

      • Model: Select the model e.g. Sales Connect

      • Schema Source: Select "Request" as the source

      • Now Fields will be displayed at the left corner drag and drop the fields on the form

  • Create a new workflow (defining Label and Name)

    • Workflow 1: For e.g. name it as Put Data

      • Log Action:

        • Drag and drop the Log Action

        • In the Config section, add Log Source: Variable and choose the Variable: Select the variable you created

        • Add Action details and save the log action

      • Assignment Action:

        • Drag and drop the Assignment Action

        • Add conditions

          • Condition 1:

            • Destination Type: Model

            • Model: Select the model assigned to the Form

            • Schema Source: Request

            • Fields: Keep it blank, but ensure that fields are visible

            • Operator: Set

            • Source Type: Variable

            • Variable: Select the variable you created at the start

          • Condition 2:

            • Destination Type: Model

            • Model: Select the model assigned to the Form

            • Schema Source: Request

            • Fields: Id

            • Operator: Set

            • Source Type: Null

          • Connect Actions:

            • Connect the actions in the workflow

            • Save the workflow

          • Assign Workflow 1 on the onload event of the form

    • Workflow 2: For e.g. name it as Patch Records

      • Rest API Action:

        • Drag and drop the "Rest API Action"

        • Set the Source API Type to Model

        • Choose the Model (e.g., Sales Connect) assigned to the Form

      • Toaster Action:

        • Drag and drop the "Toaster Action."

        • Fill Type with "Success" and Message with "Record updated successfully!"

        • Save the Toaster Action

      • Emit Action:

        • Drag and drop the "Emit Action"

        • Add the event you have created

        • Save the Emit Action

      • Connect Actions:

        • Connect the actions in the workflow

        • Save the workflow

      • Assign Workflow 2 on the Update button

  • Save & Run the Layout

  • Preview:

    • On preview, check if the record is getting saved by clicking on the Update Button

  • Note: To execute CRUD for the Rest API go to the layout where you have drag dropped the table i.e. Rest API Presentation

    • Follow these steps on the layout where you have drag dropped the table

      • Create a Pop and refresh work flow

        • Drag and drop POP action and add label and Save

        • Drag and drop Workflow action and select the workflow created for Refresh Button

        • Connect the actions and Save the workflow

      • Click on the table and navigate to Events > Edit : tableAction

      • Select Action as Push Modal

      • Select Config and define Push Modal model

        • Layout: Choose the layout created for the Patch method e.g Patch Records

        • Modal Header: Update Records

        • Modal Size: Large

        • Event Mapping:

          • Event: Select the event created on the Patch Method layout

          • Workflow: Select the Pop and Refresh workflow

      • And Save

    • On Events > Add mapping on Edits workflow

      • Input Variable: Select the variable created on patch layout

      • Operator: Set

      • Source Type: Output Variable

      • Output Variable: Record

    • Save & Run the Layout

    • Preview:

      • On preview, click on the Edit Button i.e. row action

      • And fill the data in the fields and update

      • Check the same on Connected app i.e. Salesforce Account >navigate to Accounts from app launcher > view the change

 

  • To Delete Records: Delete

    • Create a workflow in Rest API Presentation

    • Where you have drag and dropped the table

    • Rest API Presentation

      • Details:

      • Request:

        • For URL merge text follow

        • No need to define Schema for delete

      • Response: No need to define response for Delete

    • Workflow: Delete Records

      • Prompt Action:

        • Drag and drop the prompt action

      • Rest API Action:

        • Drag and drop the Rest API action

      • Toaster Action:

        • Drag and drop the Toaster action

      • Connect Actions:

        • Connect the actions in the workflow

        • Save the workflow

      • Assign the workflow on table action Delete

        • Click on the table > Events > Delete :rowAction

           

        • Add mapping on the workflow

        • Save and Run the layout

        • Preview:

          • On preview, check if the record is getting deleted by clicking on the delete button Button

          • Check the same on Connected app i.e. Salesforce Account >navigate to Accounts from app launcher > view the change


 

 

 


Extra:

 

Get

  • Add Condition on Connector Mapping:

    • After the Rest API Action, set a condition on connector mapping

    • Condition: Model: Sales Connect, Set Output > Response: data

  • Save the workflow


Post

  • Add Condition on Connector Mapping:

    • Before the Rest API Action, set conditions on connector mapping i.e.

      • Condition 1:

        • Input Variable: Request :name

        • Operator: Set

        • Source Type: Model

        • Model: Select the model assigned to the form i.e. Sales Connect

        • Field: Select the field you want to post the record of i.e. Name

      • Condition 2:

        • Input Variable: Request :site

        • Operator: Set

        • Source Type: Model

        • Model: Select the model assigned to the form i.e. Sales Connect

        • Field: Select the field you want to post the record of i.e. Site

    • Save the workflow


Related content

API
More like this
Rest API
More like this
Update Records
Update Records
More like this
REST API
REST API
More like this
Create Records
Create Records
More like this
Query Records
Query Records
More like this