Hey serg, the zoom token needing to be refreshed is not the issue. I am able to refresh, though setting it to refresh every hour in the way outlined in your documentation does not work – unless the user is sitting on the same page for an entire hour. When a workflow is set to repeat after x amount of seconds, that workflow stops executing once the page has been changed. It is much more reasonable to set an “expiry date” on the user that will then check when you need to take an action requiring zoom. This may be the reason why your plugin has very few apps using it – the documentation is incorrect.
The issue here is that when I refresh the token, it saves information to the database before the zoom auth - refresh token action has returned any values. This means that my token, refresh token, and zoom_error fields end up being blank.
For anyone else having the same issue, I was able to resolve this by saving the information (result of step 1 - refresh token, token & error) to states on the page, and then scheduling a custom workflow after three seconds to save that information to the database on the current user.
You should know that the way outlined in your documentation only works in debug mode. Debug mode slows down the workflow enough that it is able to return the API call information before saving to the database. Your documented method does not work without debug mode enabled.