SOLVED

Approval button in SharePoint list

Copper Contributor

 Hi 🙂

I have created a list in sharepoint to perform purchase approvals. The list is linked to PowerAutomate. So far my users who can approve orders get a query in Teams and Outlook from approvals. Can I make a button in sharepoint next to each order so that it can also be accepted from sharepoint?

Bez tytułu.png

7 Replies
best response confirmed by SebastianSzyroki (Copper Contributor)
Solution

@SebastianSzyroki you can do this with JSON column formatting. Create a single line of text column and format it in advanced mode with the following JSON. You will need to change the actionParams line to your flow's ID and you can change the CSS in the style section, the icon and the button text in the txtContent line. When the user clicks the button it will trigger the approval flow.

 

 

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\": \"50097cde-b800-4c6c-ade9-95be7574f4e5\"}"
  },

  "style": {
    "border": "none",
    "background-color": "#f6ec6a",
    "cursor": "pointer"
  },
  "children": [
    {
      "elmType": "span",
      "attributes": {
        "iconName": "Flow"
      },
      "style": {
        "padding-right": "6px"
      }
    },
    {
      "elmType": "span",
      "txtContent": "Send to Manager"
    }
  ]
}

 

 

O-SP.png

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User

@RobElliott thanks for your help but still not working for me. The button does not appear I added a single line of a text column and added this code in the formatting:

SebastianSzyroki_0-1684326632805.png

 

code:

{

  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",

  "elmType": "button",

  "customRowAction": {

    "action": "executeFlow",

    "actionParams": "{\"id\": \"v1/Default-e901769d-6aee-4e9d-8494-32da90ceb00a/47b8c80a-367c-4f2a-bb20-10aee385d243\"}"

  },

 

  "style": {

    "border": "none",

    "background-color": "#f6ec6a",

    "cursor": "pointer"

  },

  "children": [

    {

      "elmType": "span",

      "attributes": {

        "iconName": "Flow"

      },

      "style": {

        "padding-right": "6px"

      }

    },

    {

      "elmType": "span",

      "txtContent": "zatwierdz"

    }

  ]

}

 

 

I have a question if my code to flow is this:

v1/Default-e901769d-6aee-4e9d-8494-32da90ceb00a/47b8c80a-367c-4f2a-bb20-10aee385d243 should i add it like this?:

"actionParams": "{\"id\": \"v1/Default-e901769d-6aee-4e9d-8494-32da90ceb00a/47b8c80a-367c-4f2a-bb20-10aee385d243\"}"

 

Bez tytułu.png

That's not the right code, look at what I put in my post. Your flow ID would be 47b8c80a-367c-4f2a-bb20-10aee385d243\

@RobElliott great, the button works, but it's probably the button to start the flow (for me, the flow starts automatically). I meant that the approver could click the button and then select approve/reject the request or that this window would appear - the same as it does through the approval add-on in MS Teams.

SebastianSzyroki_1-1684328410189.png

 


maybe there is some command instead of "action": "executeFlow", on approveFlow ??

 

@SebastianSzyroki I don't think it is possible to approve/reject flow approval directly from SharePoint list using default capabilities of SharePoint and SharePoint JSON formatting.

 

There is no default action like approveFlow in SharePoint JSON formatting.

 

Here's is what you can do:

  1. Create a power automate approval using Create an approval which will give you Respond link as mentioned at: Get Approval Item Link 
  2. Save that link in one of the column against same list item
  3. Use JSON formatting to create a hyperlink using the approval link in SharePoint list. Refer: Turn field values into hyperlinks (basic) 
  4. When user clicks the hyperlink, user will be navigated directly to approvals section in Power Automate portal with respective approval task opened in panel.

Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

@SebastianSzyroki Did you try the steps given in my response above? Is it working for you?


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

1 best response

Accepted Solutions
best response confirmed by SebastianSzyroki (Copper Contributor)
Solution

@SebastianSzyroki you can do this with JSON column formatting. Create a single line of text column and format it in advanced mode with the following JSON. You will need to change the actionParams line to your flow's ID and you can change the CSS in the style section, the icon and the button text in the txtContent line. When the user clicks the button it will trigger the approval flow.

 

 

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\": \"50097cde-b800-4c6c-ade9-95be7574f4e5\"}"
  },

  "style": {
    "border": "none",
    "background-color": "#f6ec6a",
    "cursor": "pointer"
  },
  "children": [
    {
      "elmType": "span",
      "attributes": {
        "iconName": "Flow"
      },
      "style": {
        "padding-right": "6px"
      }
    },
    {
      "elmType": "span",
      "txtContent": "Send to Manager"
    }
  ]
}

 

 

O-SP.png

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User

View solution in original post