[Feature] Webhook handler #860

Closed
opened 2026-02-28 19:22:24 -06:00 by GiteaMirror · 3 comments
Owner

Originally created by @TechBreakHelp on GitHub (Jan 8, 2024).

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

My secondary bank (VivaPayments - Viva.com), used for POS and eCommerce, isn't supported by GoCardless but it is well supported by APIs and Webhooks.

For that reason I searched and I discovered that Actual have APIs but only for JS (no RESTful API available).

Describe your ideal solution to this problem

  1. I propose to create a webhook handler with the possibility to easily add other banks or credit cards which are able to use webhooks.
    I tried to set a personalized handler for Viva with route /webhook/viva but I encountered the problem that it always redirect to /login and do not allow incoming GET/POST calls.
    Each file added in those directory (personalized scripts for each bank) would be imported and manually configured as well.

  2. Another, better but more complicated solution would be: by UI add a section for webhooks in a specific account (like the button for GoCardless link) and create a secure webhook (with a route exclusive for each account, could be /webhook/). The first time it receives a json, it saves it raw. With a notification we are informed that data has arrived and needs attention. Now, with a click on the notification, it will open up the same layout for .CSV importer file and manage the map between data incoming and storing (mapping the naming).
    The following calls will be processed automatically.
    This solution should be universal for every bank/institution and completely customizable.

Bonus feature:

  • Add a notification if it received a different data than the one mapped the first time
  • With the specification already available about JS APIs, it would be automatically recognized to handle RESTful API
    e.g Add a transaction use POST with naming as declared in JS API. Get a transaction use GET with naming as declared. Delete a transaction use DELETE with naming as declared. And so on

Teaching and learning

Add a paragraph in the docs about this webhook feature and RESTful API.
The UI procedure would be easy to understand and clear in all steps.
For sure we are talking with advanced users because they know if their banks use webhooks or not.

Originally created by @TechBreakHelp on GitHub (Jan 8, 2024). ### Verified feature request does not already exist? - [X] I have searched and found no existing issue ### 💻 - [X] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? My secondary bank (VivaPayments - Viva.com), used for POS and eCommerce, isn't supported by GoCardless but it is well supported by APIs and Webhooks. For that reason I searched and I discovered that Actual have APIs but only for JS (no RESTful API available). ### Describe your ideal solution to this problem 1. I propose to create a webhook handler with the possibility to easily add other banks or credit cards which are able to use webhooks. I tried to set a personalized handler for Viva with route /webhook/viva but I encountered the problem that it always redirect to /login and do not allow incoming GET/POST calls. Each file added in those directory (personalized scripts for each bank) would be imported and manually configured as well. 2. Another, better but more complicated solution would be: by UI add a section for webhooks in a specific account (like the button for GoCardless link) and create a secure webhook (with a route exclusive for each account, could be /webhook/<account-id>). The first time it receives a json, it saves it raw. With a notification we are informed that data has arrived and needs attention. Now, with a click on the notification, it will open up the same layout for .CSV importer file and manage the map between data incoming and storing (mapping the naming). The following calls will be processed automatically. This solution should be universal for every bank/institution and completely customizable. Bonus feature: + Add a notification if it received a different data than the one mapped the first time + With the specification already available about JS APIs, it would be automatically recognized to handle RESTful API e.g Add a transaction use POST with naming as declared in JS API. Get a transaction use GET with naming as declared. Delete a transaction use DELETE with naming as declared. And so on ### Teaching and learning Add a paragraph in the docs about this webhook feature and RESTful API. The UI procedure would be easy to understand and clear in all steps. For sure we are talking with advanced users because they know if their banks use webhooks or not.
GiteaMirror added the needs votesfeature labels 2026-02-28 19:22:24 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 8, 2024):

✨ Thanks for sharing your idea! ✨

This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don’t forget to upvote the top comment with 👍!

@github-actions[bot] commented on GitHub (Jan 8, 2024): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don’t forget to upvote the top comment with 👍! <!-- feature-auto-close-comment -->
Author
Owner

@derekantrican commented on GitHub (May 9, 2025):

If I understand this correctly, this sounds like "Allow Actual Budget to receive webhook notifications". I'd like to tag onto this feature and also say "I'd like to see Actual Budget be able to send webhook notifications" (eg send a webhook notification for new transactions that are found through a SimpleFin sync)

@derekantrican commented on GitHub (May 9, 2025): If I understand this correctly, this sounds like "Allow Actual Budget to _receive_ webhook notifications". I'd like to tag onto this feature and also say "I'd like to see Actual Budget be able to _send_ webhook notifications" (eg send a webhook notification for new transactions that are found through a SimpleFin sync)
Author
Owner

@TechBreakHelp commented on GitHub (May 9, 2025):

Yes, exactly. You’re right. It could expand the possibilities integrating Actual in other flows and applications.Il giorno 9 mag 2025, alle ore 08:05, Derek Antrican @.***> ha scritto:
derekantrican left a comment (actualbudget/actual#2194)
If I understand this correctly, this sounds like "Allow Actual Budget to receive webhook notifications". I'd like to tag onto this feature and also say "I'd like to see Actual Budget be able to send webhook notifications" (eg send a webhook notification for new transactions that are found through a SimpleFin sync)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

@TechBreakHelp commented on GitHub (May 9, 2025): Yes, exactly. You’re right. It could expand the possibilities integrating Actual in other flows and applications.Il giorno 9 mag 2025, alle ore 08:05, Derek Antrican ***@***.***> ha scritto: derekantrican left a comment (actualbudget/actual#2194) If I understand this correctly, this sounds like "Allow Actual Budget to receive webhook notifications". I'd like to tag onto this feature and also say "I'd like to see Actual Budget be able to send webhook notifications" (eg send a webhook notification for new transactions that are found through a SimpleFin sync) —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#860