# Slack Approval Buttons to Update Database

**URL:** <https://community.make.com/t/slack-approval-buttons-to-update-database/97548>\
**Category:** Beginner Questions\
**Tags:** slack\
**Created:** [November 28, 2025, 7:23pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548 "2025-11-28T19:23:39Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [November 28, 2025, 7:23pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/1 "2025-11-28T19:23:39Z")

</div>

### 🎯 What is your goal?

Hi All

I have an RSS feed that reads articles and I want to Approve/Reject each item using Slack  
If the item is approved then it updates a record in postgres  
I have most of the workflow working  
The items are read, then sent to slack and then go into the database  
But what I want to do is add the Approve/Reject step

From reading previous posts, I believe that I should setup a bot in Slack and turn on Interactivity?  
But I am lost as to the settings (Request URL etc) that I should enter

Thanks for any help

### 🤔 What is the problem?

Slack Integration

### 📸 Screenshots: scenario setup, module configuration, errors

[Integration RSS 3.blueprint.json](https://community.make.com/uploads/short-url/96PqaoVVVSTIUhsHje8tHD9tzvY.json) (24.3 KB)

 ![2025-11-28 19.21.23 Slack API_ Applications _ Dirt.png](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/7/7/77be27c9fab9607fb3a3d667df9c4377c3e62362.png)

---

<div class="post-metadata">

**Author:** ![Henk-Blue\_Marker](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/henk-blue_marker/32/89127_2.png) [@Henk-Blue\_Marker](https://community.make.com/u/Henk-Blue_Marker)\
**Post date:** [November 28, 2025, 7:47pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/3 "2025-11-28T19:47:31Z")

</div>

Hi @GStack,

You are on the right track. To use interactivity and action buttons in Slack, Slack has to send the action somewhere. You can create a new scenario with a webhook as trigger and use the webhook URL as request URL. Then that scenario is triggered whenever you execute an Approve/Reject action.

Cheers,  
Henk

---

<div class="post-metadata">

**Author:** ![amjadiqbal](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/amjadiqbal/32/83955_2.png) [@amjadiqbal](https://community.make.com/u/amjadiqbal)\
**Post date:** [November 29, 2025, 9:25am UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/4 "2025-11-29T09:25:38Z")

</div>

Building on what Henk said, here are the detailed steps to get this working:

1. Create a Custom Webhook scenario in Make:

2. Configure Slack Interactivity:

3. In your RSS scenario that sends messages to Slack:

```json
[
  {
    "type": "section",
    "text": {
      "type": "mrkdwn",
      "text": "Your article title here"
    }
  },
  {
    "type": "actions",
    "elements": [
      {
        "type": "button",
        "text": {"type": "plain_text", "text": "Approve"},
        "action_id": "approve_article",
        "value": "{{item_id}}",
        "style": "primary"
      },
      {
        "type": "button",
        "text": {"type": "plain_text", "text": "Reject"},
        "action_id": "reject_article",
        "value": "{{item_id}}",
        "style": "danger"
      }
    ]
  }
]

```

1. In your webhook scenario:

2. Important: Add a Webhook Response module at the end of each route to acknowledge the button click within 3 seconds, otherwise Slack will show an error.

Let me know if you need help with any specific part of this setup.

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 7, 2025, 11:30pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/5 "2025-12-07T23:30:15Z")

</div>

Not sure what I am doing wrong here  
I have the 2 workflows

1. RSS is sent to Slack
2. Web Hook gets the data

I was only expecting either  
“action\_id”: “reject\_article”,  
or  
“action\_id”: “approve\_article”,  
But both are in the output as shown here?

 ![2025-12-07 23.17.10 History _ Make - Google Chrome](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/d/7/d7bf61bb49f8bd376deb27ce44a8b45a2b23817b.png)

I have attached both workflows, if it helps  
Thanks  
Garrett

[Integration Slack.blueprint.json](https://community.make.com/uploads/short-url/44A2OJQ6pLF8uIaYdEzP7lYgbE0.json) (38.7 KB)

[Integration RSS.blueprint.json](https://community.make.com/uploads/short-url/wETJcFKkeBldbnzoM3OV7PHx4jI.json) (16.3 KB)

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 9, 2025, 4:36pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/6 "2025-12-09T16:36:57Z")

</div>

Anyone got any suggestions?

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [December 9, 2025, 5:49pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/7 "2025-12-09T17:49:11Z")

</div>

How did you configure the buttons on the other end? Cause at the moment it looks like pressing whatever just sends the entire block, instead of each button sending its own call to the specific url.

Also I downloaded the blue prints → neither of them has a webhook as the start. Looks like your slack scenario watches for new messages being sent. Delete that trigger and replace it with a Webhook module, then paste the url of the webhook in the interactivity section in the slack settings.

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 9, 2025, 9:38pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/8 "2025-12-09T21:38:50Z")

</div>

@Stoyan_Vatov  
Ok Thanks, I have made some corrections  
I have changed the starting trigger of the second workflow and replace it with a Webhook module  
Now the data takes both routes in the second workflow, no matter if I select Approve or Reject

The following is the data sent to slack for approval/rejection  
I am not sure what should go in here, I have it referencing the ID (which is a url of the rss feed)  
“value”: “{{1.id}}”,  
And the same value is going in both buttons, is this correct?  
Also the data arriving at the web hook is just the Payload, which doesn’t contain the  
approve\_article or reject\_article

[  
{  
“type”: “section”,  
“text”: {  
“type”: “mrkdwn”,  
“text”: “{{1.title}}”  
},  
“text”: {  
“type”: “mrkdwn”,  
“text”: “{{1.summary}}”  
}  
},  
{  
“type”: “actions”,  
“elements”: [  
{  
“type”: “button”,  
“text”: {“type”: “plain\_text”, “text”: “Approve”},  
“action\_id”: “approve\_article”,  
“value”: “{{1.id}}”,  
“style”: “primary”  
},  
{  
“type”: “button”,  
“text”: {“type”: “plain\_text”, “text”: “Reject”},  
“action\_id”: “reject\_article”,  
“value”: “{{1.id}}”,  
“style”: “danger”  
}  
]  
}  
]

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [December 10, 2025, 10:40am UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/9 "2025-12-10T10:40:14Z")

</div>

I suppose it should be sending the same data yes, but in the payload you should be seeing the action\_id of the button that triggered it along with whatever value you are sending.

Can you show a screenshot of how the initial message is built and what the buttons look like on that end? Cause in the initial blueprint you shared, they don’t have action\_id attached to them.

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 10, 2025, 1:02pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/10 "2025-12-10T13:02:21Z")

</div>

The initial message is built from the rss feed and then sent to slack

 ![2025-12-10 12.15.47 Integration RSS _ Make - Googl](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/7/f/7fbcc1ed24cbcd910d842353ad9cbe6b01f0f562.png)

 ![2025-12-10 12.15.21 Integration RSS _ Make - Googl](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/8/f/8f6592f33d83f5078762d635c9b60c05cd93d009.png)

 ![2025-12-10 12.15.37 Integration RSS _ Make - Googl](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/7/0/70aeca8a47f304c60e451984883a4bab3b865670.png)

I am they querying the payload for approve\_article or reject\_article, but it appears to contain both, so the workflow takes both routes  
I have uploaded the workflows again if it helps

 ![2025-12-10 12.58.49 Integration Slack (copy) _ Mak](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/2/3/23f19f0f56b0eb565890c12a5333637e1778c4f7.png)

 ![2025-12-10 12.59.20 Integration Slack (copy) _ Mak](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/a/0/a00c92227e7fa41200c86151ab1c73d2e5bfd34c.png)

[Integration Slack (copy).blueprint.json](https://community.make.com/uploads/short-url/2yRLoh6DcRwgdqXA2mDXEyjIgZa.json) (31.9 KB)

[Integration RSS.blueprint.json](https://community.make.com/uploads/short-url/wETJcFKkeBldbnzoM3OV7PHx4jI.json) (16.3 KB)

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [December 10, 2025, 1:34pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/11 "2025-12-10T13:34:25Z")

</div>

The filter is incorrect, but thats not the issue anyways. Can you show a screenshot of the webhook and what the payload looks like when you press a button?

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 10, 2025, 2:05pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/12 "2025-12-10T14:05:33Z")

</div>

Sure, this is the webhook  
And below is the payload that enters the workflow, I have highlighted the area for the buttons

 ![2025-12-10 14.00.59 Integration Slack (copy) _ Mak](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/3/4/34db51a9f6cdab419d032a77d71afa86102cc2a8.png)

 ![2025-12-10 13.59.08 History _ Make - Google Chrome](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/2/4/240e2a868e0667ab8ae0d10a6f0cdf60a3657b30.png)

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [December 10, 2025, 2:16pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/13 "2025-12-10T14:16:44Z")

</div>

Feed that in a parse JSON module to get the proper format and check what that looks like.

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 10, 2025, 2:46pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/14 "2025-12-10T14:46:48Z")

</div>

Yeah, I pretty much get the same thing

 ![2025-12-10 14.44.05 Integration Slack (copy) _ Mak](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/7/9/79491724b13dcdb44bf41de803c3f0c0a5c90569.png)

---

<div class="post-metadata">

**Author:** ![GStack](https://avatars.discourse-cdn.com/v4/letter/g/59ef9b/32.png) [@GStack](https://community.make.com/u/GStack)\
**Post date:** [December 10, 2025, 2:54pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/15 "2025-12-10T14:54:13Z")

</div>

Ok Thanks  
I think i found the section in the JSON, that i can use in the filter and it seems to work now

 ![2025-12-10 14.52.42 Integration Slack (copy) _ Mak](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/0/e/0e827530c99e8c094f927c4781e0bc8175bdb899.png)

---

<div class="post-metadata">

**Author:** ![Make\_Bot](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/make_bot/32/14661_2.png) [@Make\_Bot](https://community.make.com/u/Make_Bot)\
**Post date:** [March 10, 2026, 2:57pm UTC](https://community.make.com/t/slack-approval-buttons-to-update-database/97548/16 "2026-03-10T14:57:04Z")

</div>


