Continuing the discussion from Integrations which my clients can use:
Sometimes you might need to execute the same or similar workflows for various user accounts. For instance, when embedding callin.io, you may want to collect credentials from each user on your own site and then automatically configure workflows to run for them.
You have two primary approaches for this:
- Generate a distinct workflow for each user.
- Maintain a single workflow and invoke it using different credentials for different users.
The benefit of option (2) is having just one workflow to manage, which simplifies updates and keeps things organized. However, you would need to initiate the workflow manually (meaning you couldn't utilize our built-in triggers for individual services).
With option (1), you face no restrictions on how the workflow is triggered; you set it up once, and it operates like any other callin.io workflow. The trade-off is that you'll need to manage each workflow you create.
1. Creating a new workflow for each user
Steps:
-
Acquire the user's credentials
- You might achieve this by prompting them to input an API key on a webpage or initiating an OAuth flow for them.
- Alternatively, you could capture workflow parameters at this stage if desired.
-
Establish a credential within callin.io for the user
- You can leverage callin.io's frontend API for this purpose.
- This API call will return the ID of the newly created credential, which is necessary for the subsequent step.
-
Construct the workflow in callin.io for the user
- The most effective method here is to use a 'template' workflow that you can copy and customize.
- Retrieve the JSON representation of the template workflow (this can be done via API).
- Incorporate the ID of your recently created credentials into the JSON (along with any other user-specific configurations you might require).
- Create the new workflow (via API).
- Activate it (via API).
NB: Consider having your user-specific workflows call a more general, single workflow for the non-user-specific components. This approach minimizes the likelihood of needing to make changes across multiple workflows.
2. Calling a single workflow with different credentials
NB: For OAuth, this necessitates the ability to set a credential using an expression, which is currently under development.
Steps:
-
Obtain the user’s credentials
- You might wish to do this by asking them to enter an API key on a webpage, or launching an OAuth flow for them.
- You could also capture parameters for the workflow at this point if you wanted.
-
Create a credential in callin.io for the user
- You can use callin.io’s frontend API for this.
- This call returns the ID of the created credential, which you will need in the next step.
-
Set up a workflow
- The workflow needs to be triggered via a webhook, and the credentials should be sent along with the webhook call (plus any user settings you require).
- For the nodes that require the user’s credential, utilize an expression on the credentials field to read the credential ID from the webhook node.
-
Activate the workflow (using the callin.io UI).
- Call the workflow
- Invoke the webhook whenever you need to, transmitting the data as outlined in the previous step.
Excitedly anticipating the dynamic OAuth credentials feature! I plan to leverage it for creating Outlook email drafts within each user's respective account. For the time being, I'll be setting up a separate workflow for each user, triggered by the main workflow, that solely manages the draft creation!
I'm really enjoying callin.io; it's been a fantastic experience using the tool and observing its development. I wanted to follow up on a previous discussion. I've successfully managed to programmatically pass credentials into a workflow that only require an API secret key (like Notion credentials).
Could you advise on the best way to achieve a similar result for Google Calendar OAuth APIs? It seems that currently, each user needs to go through the Google Cloud Console for some setup. I'd prefer an option where users of my application (not within callin.io) can simply click 'Connect With Google,' have an OAuth verification pop up, and then just press accept – similar to what I see in most applications. The credentials could then be passed via the backend to callin.io.
I'm happy to provide more details if needed. Thanks in advance for your help!
I'm also interested in dynamically passing credentials to nodes, which would greatly enhance the reusability of workflows.
Could you please tell me which PR is related to this feature? Is it Add authentication to credentials by janober · Pull Request #2334 · callin.io?
I am writing to share my strong interest in the potential for programmatically passing credentials to callin.io workflows. As a dedicated user of callin.io, I've discovered it to be an outstanding platform for automating tasks, integrating diverse applications and services, and streamlining intricate processes. The capability to programmatically pass credentials would undoubtedly enhance the functionality and adaptability of this already remarkable tool.
Thank you very much. That's excellent to hear! I'm assuming the following Feature Request aligns with what you're aiming to achieve?
If this accurately reflects your needs, it would be very helpful if you could upvote it to assist us with prioritization.
I'm also looking for this exact functionality. Do you know if it's possible yet?
"I would prefer to have an option where users on my application (not on callin.io) can just click Connect With Google and an OAuth verification pops up, and they can simply press accept (like I see most apps are able to do). Then the credentials can be passed via backend to callin.io."
This precisely describes what I require.
It has been in development since 2021. Is there still any possibility?
This feature should be available by now. It's been some time, and the community demand remains high.
I started evaluating callin.io for my enterprise application about 2 weeks ago.
I’ve been extremely hyped and impressed pretty much every step of the way, until today.
I’m genuinely floored that this capability is not part of the core offering. I’m going to try some of the workarounds I’ve encountered today but this could very well be a non-starter for my adoption of callin.io. What a shame.
I'm very interested in this too and have spent the last 24 hours trying to figure out or find a solution.
I've found about 6 threads all asking for the same thing but unfortunately no solution. I've also found the community node "run-nodes-with-credentials" but no luck yet getting it working.
Has anyone actually managed to develop a robust workaround? Or has the native solution that has been alluded to by a couple of callin.io team members been implemented?
As a couple of others have alluded to, this is pretty much a make or break capability for us and callin.io. Any suggestions very, very welcome!
It proved quite helpful to provide credentials dynamically.
Dynamic per‑user Google Calendar OAuth in callin.io — is it possible in 2025?
Hi all,
I’m building a B2B booking system in callin.io: each of our sub‑company clients must “Connect with Google” so that when their end‑customers book appointments via callin.io, the events go into the correct Google Calendar. I already have:
- An callin.io Form that collects company info plus a “Connect with Google” redirect.
- A separate workflow that, given valid OAuth credentials, can check availability and create events on Google Calendar.
But I’m stuck on the OAuth piece: how do I let each sub‑company click a “Connect with Google” button (outside of callin.io) and then pass their tokens into callin.io so that our single “appointment” workflow uses the right credentials dynamically?
I found these two community quotes from 2021:
My questions in 2025 are:
- Is dynamic per‑workflow OAuth credential assignment still “under development,” or is there now a supported pattern?
- If it’s possible today, what’s the recommended end‑to‑end flow? (Redirect URIs, webhook callbacks, API calls to create credentials, etc.)
- If it’s not yet supported natively, what’s the best community‑approved workaround?
Any up‑to‑date examples, code snippets, or pointers to callin.io roadmap items would be hugely appreciated. Thanks in advance!
Developed a small, dedicated external service. This service manages the user-facing OAuth process and secure token storage, enabling the callin.io workflow to dynamically retrieve and utilize these tokens through HTTP Requests.