Why Isn't the Newly Created User Through Slack Connect Custom OAuth Client Flow Visible in the Dropdown for Slack When Editing a Workflow?

This topic was automatically generated from Slack. You can find the original thread here.

hi team - i’m running into an issue using the Slack Connect custom OAuth client flow to create an account, and use it in a workflow

I can see the user being created in “Connect” > “Users”, however that user is not visible in the dropdown for Slack when editing a workflow.

Are there additional steps required? Or is there a different recommended way to use the Slack account?

Hey Daniel, to confirm, are you trying to use the auth for your end user who connected their account outside of the Pipedream UI, via the Connect API?

yes - the user used the “Custom OAuth Client” to create an account

And you’re intending to execute a workflow on their behalf, using their auth, is that right?

exactly - i have a workflow created within pipedream, and I can select my own account that i set up using the same oauth client within the pipedream UI

but when they use the client and set up an account, i don’t see it in the workflow

i do see an account created in the “Connect” > “Users” list, but that account is not selectable in the workflow

Yep, got it, thanks for confirming. We’re very close to shipping support for using your users’ auth within your workflow execution. When we release that feature, you’ll basically just see a toggle in the UI when configuring a step to indicate that you want to use your external users’ auth for that step. The actual account won’t be selectable from within the UI, since you’ll pass the external user ID at runtime when you invoke the workflow.

Can you tell me more about your use case / application? Happy to share more and get your feedback on the developer experience for this first iteration.

we’re connecting to customer oauth accounts (slack, gdrive etc), and wiring up workflows in pipedream w/ those accounts

some of the workflows are custom one-offs that are manually created in the pipedream UI

You can actually try this now for any users whose accounts were created in development, would love to get your feedback on what works, what isn’t intuitive, etc:
• Enable the Allow Use Connect in Builder feature flag here: Sign Up - Pipedream
• Now go into your workflow, and you should see a toggle where you select the account for any step (you may need to refresh the page to see it)
• So when you actually trigger that workflow, you’ll need to pass the external user ID for the account you want to use
How will you be triggering these workflows? If via your JS backend, I can share the code example for you to use with our JS SDK, otherwise I’ll show you how to include the required headers for an HTTP request.

Screenshot by Dropbox Capture.png

we’re triggering them via a http call to pipedream from our backend - yes

Here are our draft docs, which we haven’t yet published: https://docs-v2-git-docs-invoke-workflows-for-exter-7a103f-pipedreamers.vercel.app/docs/connect/workflows#how-to-run-workflows-for-your-end-users

• So when you actually trigger that workflow, you’ll need to pass the external user ID for the account you want to use
for slack - how do we select a channel or user to message? (similar to how the existing flow works)

for slack - how do we select a channel or user to message? (similar to how the existing flow works)
Currently you’ll need to pass those raw values to your workflow, and reference them within the step configuration, kind of like this (example curl isn’t using any auth on the HTTP trigger, which I don’t recommend):

➜  ~ curl -X POST \
  'https://eoxxxxxxxxx.m.pipedream.net' \
  -H 'Content-Type: application/json' \
  -H 'x-pd-external-user-id: 5a4be6ca-bd3f-482f-9769-xxxxxxx' \
  -H 'x-pd-environment: development' \
  -d '{"slackChannel":"[](#CN1BUB92B)","messageText":"hello, world (sent via curl!)"}' \

Screenshot by Dropbox Capture.png

So the expectation would be that you’re handling the selection of the channel and message text within your application, right now

But we’re actually also working on an API to let you basically embed any Pipedream trigger or action directly in your application also, to make that easier. So you’d be able to render a React component for example, for the slack-send-message action, and it’ll let you list your user’s Slack channels directly in your UI.

What’s your application / what are the use cases you’re working on enabling? Would love to learn more.

we’re building workflow automation tools and connecting data sources (like gsheets) and comms tools (like slack), and driving them via AI agents

Yea, so with the above documentation and capabilities, you can programmatically invoke workflows that you configure in Pipedream to run on behalf of your end users, using their auth. In addition, we’re working on exposing all of our triggers and actions via API / SDK, so that you can also run those individually, directly from your application, without having to configure a workflow. From the early conversations we’ve been having with partners, we’ve seen the most interest from other companies who are building AI agents, since they immediately unlocks so many integration use cases.

Let me know if you have questions or feedback on any of this

^ yup that’s exactly us - we’re leveraging it for AI agents