I am trying to figure out what base url I should use to configure a REST api that I wish to receive 3rd party data posts to into Retool. It's not clear from any of the api documentation I saw what this should be.
What is your 3rd party? It will be in the API documentation.
eg
Pandadoc is https://api.pandadoc.com/public/v1
Gmail is https://gmail.googleapis.com
Slack is https://slack.com/api
If you let me know your 3rd party app I can help you locate it.
Thanks Shawn! I probably should have been clearer in describing my use case. I have a third party system I'm using to manage applications. The third party system can send me webhooks for events in their system. I'd like to receive all of these webhooks and drop the data from them into a table. I don't think Workflow webhooks will work for this use case for a couple of reasons.
Happy to help William! That makes more sense though I would probably recommend using a Workflow as it is where you can get your webhook endpoint.
If you let me know your 3rd party system and maybe share a couple screenshots it would help to get you setup.
There always seems to be a solution with Retool so please do go over any reasons or concerns regarding workflows. The more context the better
Thanks Shawn, I think the key issues with using workflows for this purpose are:
- the third party I'm working with needs to send an auth header using a bearer token with 'Token' as a prefix, and workflows require an auth header of 'X-Api-Key' or 'X-Workflow-Api-Key'. This is the most material constraint.
- I will be receiving a lot of webhooks, so would likely generate a very high volume of workflow runs that would be quite costly.
Hi William,
This really sounds like Rest API and it is typical to have headers with 'X-Api-Key' and bearer tokens. Rest API however usually pulls information and requires an endpoint (your 3rd party app). A resource like Rest API can be used in a workflow you either schedule (cron) or trigger via webhook or an app.
If you do have several webhooks and are concerned about high volume a third party service such as hookrelay or Hookdeck might be what you are looking for.
If you take a screenshot of your 3rd party software or send me a link we may be able to help further.
Hey @William_DeVar - it looks like @Shawn_Optipath has put you on the right track here.
Generally speaking, the Retool platform connects to various data sources, but doesn't store much of its own data. The notable exceptions to this are the Retool DB and Retool Storage products, both of which are just raw resources in the sense that they don't have any additional API endpoints defined on them.
If the third party system that you're using isn't able to write directly to a database, then you'll likely need to insert a server between the two. A workflow is one such option, but it could also be a separate service or even a custom piece of software.
The above is a very high-level explanation, but hopefully it helps clarify your options! Let me know if you have any specific questions, as I'm happy to help out.
Have you had a chance to review the above, @William_DeVar? I think the key takeaway is that Retool workflows are the only way within Retool to expose an API endpoint. If that's not an option, you will need to write directly to your data sources or build out some other backend service.