EDIT: Adding a screenshot of my current Resource settings.
New to Retool and stumped with interpreting various documentation methods.
I have successfully connected HubSpot and CompanyCam. Now, I am trying to connect Jobber using their OAuth documentation:
I am stumped.
My resource in Retool is reporting an "unprocessable entity"
I'm not sure where the failure point is.
I'm sure I need to add something to "scope", but Jobber doesn't indicate what their scope names would be.
Can anyone offer some pointers?
Thanks in advance.
Hey @Addaline! Happy to help here.
I took a look at Jobber's OAuth docs and noticed this section about getting the Access Token:
It looks like the endpoint may require a grant_type and a code? Have you connected to Jobber from another source before (e.g. Postman) and do you know if those keys are indeed required in the auth flow?
Thanks for the reply.
I'm still trying to learn all of that, so I have no idea how it all interacts.
I can try Postman and see how it goes.
I would have no clue how to put it all together for access via Retool, though.
I'll poke around a bit more (it's slow going as we're in our busy season and work keeps getting in the way of learning)
OK, looks like I stumbled across something that works to at least make a connection. Screenshots attached.
Now to figure out what appears to be a permissions issue. I'm guessing it's due to the scope not being set in Retool, just waiting for Jobber to confirm this.
I'm glad you were able to get a successful connection at least. Do you have any permissions set on the Jobber side? Have you been able to access this resource from any other outside sources?
After much wailing and gnashing of teeth, I think I've managed to kludge it together. Just testing the timeout of the process to see if everything still works.
Currently I am using a GraphQL Resource with Custom Auth steps. The one issue is that Jobber uses a two-step process: get an authorization_code in order to connect and get an access_token and a refresh_token.
The authorization_code expires periodically.
The refresh_token is apparently valid until explicitly refreshed.
The access_token expires every 60 minutes.
Apparently once we have the refresh_token we should be able to keep connecting with it to get a new access_token.
I'll update once I have more testing done.
Oh wow, that seems like quite the setup Thank you for the update and definitely let us know how we can help!
As best as I can figure it out, this is what works. Maybe there's a better way to set it up, I'm not sure.
The biggest issue for me is that they expect user interaction for the initial connection. Since we're hoping to run this "headless" with no user interaction, this setup seems to work so far.