slackapi / deno-slack-sdk

SDK for building Run on Slack apps using Deno
https://api.slack.com/automation
MIT License
162 stars 27 forks source link

[QUERY] Warning about External Teams #323

Closed markfoden closed 2 months ago

markfoden commented 4 months ago

@filmaj I've just started getting warnings about external teams when running an app:

Screenshot 2024-05-22 at 13 40 31

It says the remedy is to "remove external teams in Settings" but I don't know what is meant by "Settings" - there seems to be nothing in the app referring to external teams.

Could you help please?

filmaj commented 4 months ago

Hmm, odd, that remediation text certainly needs some work.

To make sure I understand the situation: what are the first and second steps you are using in allocate_workflow and no_partner_found_workflow ?

filmaj commented 4 months ago

And now for your context: "External teams" implies usage of Slack Connect channels, channels that are shared/connected between multiple different workspaces (possibly from outside your organization). There are workspace/organization administrator settings that enable admins to restrict specific workflow steps from being used by 'external teams' - that is, users from workspaces that are not part of your workspace but that are members of these shared channels.

markfoden commented 4 months ago

@filmaj As an example here are the steps for allocate_workflow - the other is pretty much the same:

Screenshot 2024-05-22 at 14 15 20

Step One retrieves some data from a CRM and Step Two runs a modal function

markfoden commented 4 months ago

And now for your context: "External teams" implies usage of Slack Connect channels, channels that are shared/connected between multiple different workspaces (possibly from outside your organization). There are workspace/organization administrator settings that enable admins to restrict specific workflow steps from being used by 'external teams' - that is, users from workspaces that are not part of your workspace but that are members of these shared channels.

I've found this in Slack settings but there's no mention of external teams

Screenshot 2024-05-22 at 14 35 51

Am I looking in the right place?

markfoden commented 4 months ago

Generally though it sounds like the warning is not critical for us as we don't need any external users to use the workflow steps. Can I safely ignore it?

filmaj commented 4 months ago

Correct, if the command didn't error out, it is just informing you "hey users that are not members of the workspace this app was installed to will be unable to use this workflow."

Let me follow up on the exact settings that are mentioned here so that you have the relevant info, and then we'll discuss with the team how to clarify the warning message raised by the CLI in this case.

filmaj commented 4 months ago

OK, found the info: https://slack.com/help/articles/14844871922195-Slack-administration--Manage-workflow-usage-in-Slack-Connect-conversations#enterprise-grid-1

The relevant bits are:

To protect your organization, external people in Slack Connect conversations can never use a workflow that contains the following:

I'm going to keep this issue open until we figure out a better way of communicating this situation in the CLI warning repsonse.

mcsescott commented 4 months ago

I started seeing the same thing within the last two days (may have been when I updated the CLI/deno-sdk from slack doctor), and I opened a feedback request on it.

This was their response:

In the context of your app, the warning indicates that external people will not be able to use the custom step you are building.

I do agree that the message is somewhat confusing and this has been flagged with our engineering team. However, it shouldn't impact anything besides who can run the workflow.

As @filmaj stated, this does not affect running the app; it is just a warning. In large organizations such as mine, this is a problem, but I will work through it in other channels/methods.

benjrich-jasper commented 4 months ago

I am also seeing these warnings for all 130+ steps in our app, so it's very noisy and takes a full year to scroll through 😅

Is there a way to silence these warnings for the time being? Maybe using a cli flag?

yoniamir commented 4 months ago

Same issue here. These warnings are quite noisy and hurt the developer experience, especially without any clear guidance on how to resolve them. CleanShot 2024-05-28 at 19 09 42@2x (workflow names redacted)

filmaj commented 4 months ago

FYI today's CLI release (v2.25.0) should somewhat address, at least, how much real estate these warnings take up by grouping the same warnings together.

After speaking to different teams internally at Slack, we decided to have the underlying App Manifest APIs that return this warning maintain the warning, as it is contextually relevant for teams and this warning also shows up in Workflow Builder if you build a workflow that way.

We are also debating maybe limiting the number of warnings that end up being displayed (to, say, 5) in an effort to further declutter the CLI's output.

zimeg commented 2 months ago

Following up after the v2.27.1 release - error and warning outputs have undergone a bit of change and will now truncate sources with identical warnings to reduce some of the noise this warning causes:

truncate

I'll close this issue since this warning is expected from the endpoints that validate app manifests, but please feel free to follow up with other suggestions! Thanks for raising this and I'm hoping this output change is useful as these warnings remains 🙏

yoniamir commented 2 months ago

@zimeg @filmaj I don't mind the warning if there was any documentation explaining how to fix it. The only mention I found for this only is this thread. Could you please provide an explanation how to resolve this warning on my app?

zimeg commented 2 months ago

@yoniamir This warning is returned during manifest validation for the specific steps @filmaj mentioned above whenever the app is installed to a team with Slack Connect channels. Unfortunately this warning cannot be fixed at the application level because of this... At least not without removing the steps causing it 🤕

I understand the messaging is unclear about this, but this warning can be ignored and doesn't require changes to use the workflow on the "home" team the app is installed to.

I'll look into documenting this behavior on api.slack.com pages to avoid confusion and searches for this message 📚 We'll also continue to iterate on how the warning is displayed, but for now this warning will continue to be returned from the API.