[✅ Solution] Customize webhook response

Hi everyone, does anyone know if there is a way to customise the response a webhook trigger sends back when it receives something?
:new: Trigger · When a webhook is received · Workflow Automation - :loudspeaker: Info & Announcements - Tape Community (tapeapp.com)

I can’t see a way of changing it and am unsure if I am missing something obvious.

Thanks

1 Like

Hi @Jason,

thanks for your question! Currently, web hook receive URL endpoints will always return a 200 (during normal operations) with an empty response. At the moment, there is no way to customize the response or add extra logic there. :eyes:

As always, feel free to create a feature request for that, including the info whether you would need to customize the response in a static fashion (e.g. always return this body XY) or in a dynamic fashion (fetch data, execute logic, yield a response body with the result).

Cheers & happy weekend
Tim

1 Like

Thanks @Tim

I will think about the feature request I think it’s the only system I have seen yet that demands a response other than the ‘200’ so whilst it stops the integration I was building it is probably an edge case and I expect I can switch the other system out if need be.:slight_smile:

Thanks again for coming back to me mid-weekend

1 Like

Just found out, that Tempo for Jira also needs a GET Request, which needs to be answered in order to receive webhooks subsequently.

If its not the same system @Jason, that would be the second :wink:

Honestly I can’t actually remember what service I was trying to connect to but it wasn’t the one you mention. There are a few that need it though.

It’s not really a solution but the way I get round it these days is just make a little (Cloudflare) worker to sit in the middle, I do that to handle files when the service doesn’t send or receive in a way that works with Tape nicely.

2 Likes

Yep, also thinking about using an own n8n instance for things like that. Thanks.

2 Likes

Meanwhile its working stable with n8n in between:

The disconnected node “Respond to Webhook” is used for the initial subscription, because the service expects a dynamic response. After that, the Webhook node is forwarding the request to the HTTP Request node, which delivers the data to TapeApp.

Execution is logged:

Good thing for the future - if I’m getting close to the TapeApp Webhook limit (“100 webhook executions per minute per app”) I can delay the delivery with help of n8n.

Of course this could also be done with NodeRED, which I even love a bit more, as its complete open source without usage limits and runs pretty stable. I just had this n8n instance setup with one click via Cloudron on our server.

1 Like

Yep, n8n is great I am not surprised you like it. I run an instance myself and mostly use it for quick tests.

When I covered external automation tools in the webinar, I used n8n in some of the demo’s, but it’s worth highlighting a few things it can do that Tape alone can’t:

  1. Await a GET — you can trigger from a normal URL (e.g. on a webpage or even embedded in a PDF), which Tape can’t do natively.
  2. Shape the response — as in your example, you can edit the output so it matches the expectations of the system waiting for it.
  3. Batch Tape API calls — for example, you could hold incoming triggers for up to 60 seconds and then send them in a single batch call. That reduces the risk of throttling your Tape organisation (just an example, not necessarily a recommendation).

If you can host it reliably, n8n is a very powerful tool.

I hadn’t really looked at NodeRed despite it being on my “list” for ages. Writing this post pushed me to finally spin up an instance, and it’s actually really interesting. First impressions: a bit less user-friendly than n8n, but potentially a better long-term fit for me.

Now, I love Tape (just in case thats not obvious :wink: ) it’s amazing at integrating with external tools and services. But sometimes that flexibility tempts us into thinking it should do everything. That’s not always possible (or sensible).

For example, there’s at least one feature request I’d really like to see added, but I can also see how implementing it could have significant performance implications.

So, my take: there’s a rich ecosystem of tools that can sit between Tape and other services when needed:

  • Zapier and Make — the obvious choices if you can’t or don’t want to self host
  • n8n and NodeRed — both quick to set up (I had NodeRed externally available with DNS + HTTPS sorted in under 10 minutes).
  • ProcFu — worth a look for its API services, especially around OAuth.
  • Cloudflare Workers — incredibly powerful (even the free plan), though not for everyone.

In short: Tape is flexible enough that we often don’t need external tools however that doesn’t mean we shouldn’t use them. Sometimes the smarter move is to let Tape do what it does best, and slot in the right tool for everything else.

5 Likes

Absolutely agree. Although I still pray for Oauth2 done right in Tape :wink:

Regarding n8n vs. NodeRED - absolutely agree. Both have their strength and weaknesses. We have NodeRED in client instances running reliably over years, where we don’t spent much time for maintenance. It just runs fine.

I would have loved to see it supported in Cloudron. Then its really only one minute to spin it up :smiley:
n8n is supported there with one click.

Zapier / Make has prohibitive pricing for some clients. The reason are APIs out there in wild, that don’t even bother to provide webhooks. When you sync between tools to pull for updates again and again regularly, it quickly becomes expensive. Also selfhosted systems get some extra points in our Region (did I say GDPR?).

2 Likes