In this article

The page's title should always be the Snap's name.  For example, File Reader. 

Overview

Use this Snap to perform the following Workspace operations.

Provide a functional overview of the Snap. Do not mention anything about the Snap's internal technology or techniques. The user should be able to understand what the Snap. Include a screenshot of a well-configured Snap 600px.  

Prerequisites

Add valid Slack Scopes based on the intended operation. You must have the owner or administrator privileges to perform some of these operations. See Required Slack Scopes below for details.

Required Slack Scopes

Any action you want to perform within a Slack Workspace, additionally needs appropriate Scopes assigned to your app. See the Scope and Permissions article in Slack API documentation for the complete list and each Account page under Configuring Slack Accounts for information on defining Scopes for your app.

ToBot Token Accounts
(scope)

User Token Accounts
(user_scope)

Workspace InfoN/Aadmin.teams:read
Create WorkspaceN/Aadmin.teams:write
List WorkspacesN/Aadmin.teams:read
List Channels in a WorkspaceN/Aadmin.usergroups:read 
List Users in a WorkspaceN/Aadmin.users:read
Delete ChannelN/A

admin.usergroups:write OR
admin.conversations:write OR 
admin.users:write 

List all prerequisites for using the Snap as a bullet list. Use direct sentences. For example, in case of a Write-type Snap a prerequisite would be that the user must have write access. Include links to external official documentation, if required. Use "None." if there no prerequisites. 

Support for Ultra Pipelines

Works in Ultra Pipelines

Limitations

List all Snap-specific limitations as a bullet list. Limitations can be imposed by the Snap's development environment and also by the endpoint's API. List both. Use direct sentences. Include links to external official documentation, if required. Use "None.: if there are no limitations.  

Known Issues

This Snap is not tested with admin credentials against an Enterprise-oriented Slack installation and this document does not deal with these features in detail.

Snap Input and Output

Type of view: Document/Binary/Both. Get number of views from the Views tab in the Snap. List at least three compatible Snaps in each category. Provide a brief of the input/output required. If the input/output is optional then preface the description with "Optional." For example, "Transaction data complying with the Orderful schema as a JSON document."

Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min: 0
  • Max: 1
  • Mapper
  • Copy
  • JSON Generator
A document with an input to perform one of the Workspace operations.
Output

Document

  • Min: 1
  • Max: 1
  • Mapper
  • JSON Formatter
  • Filter

A document containing the output records or result (success/failure) based on the operation performed.

Snap Settings

Parameter NameData TypeDescriptionDefault ValueExample 
LabelString
Workspace OperationsWorkspace Operations
OperationDrop-down list

Select an operation from the following list of permitted workspace operations and specify the corresponding details needed:

  • Workspace Info. To fetch information about settings in a workspace.
  • Create WorkspaceTo create an Enterprise Team/Workspace. Also, specify the details for the new team/workspace. Needs Admin permissions for the Enterprise Grid.
  • List Workspaces. To list all teams/workspaces on an Enterprise/organization. Needs Admin permissions for the Enterprise Grid.
  • List Channels. To list all Channels within the Enterprise/organization
  • List Users. To list all the users in the Enterprise/organization.
  • Delete Channel. To delete a channel in the Enterprise/organization. Needs Admin permissions for the Enterprise Grid.
Workspace InfoCreate Workspace
Snap ExecutionDrop-down list

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled. Disables the Snap and all Snaps downstream from it.

Execute onlyValidate & Execute

Troubleshooting

You can get information for this section from the Snap's source code, typically the Messages.java file in GitHub. Ask the developer to access this file. Do not use "Please" in the Reason or Resolution. If there is "Please" in the error message then contact the developer to have it removed as needed.

ErrorReasonResolution
Unable to list all the workspaces. missing_scope

The token corresponds to an individual (non-Enterprise Grid) installation and hence not authorized to perform this Admin operation.

OR

The token associated with your Snap account does not have the required Slack Scope assigned.

If the Snap account/token is related to an individual installation of Slack, you cannot perform this operation.

For Enterprise Grids, ensure that the token, and hence the account, have the required Slack Scope assigned as mentioned in the Prerequisites section of this document. 

You must re-install the Slack application for the new Scope assignments to take effect.

Examples

Extracting the List of non-Admin Users in the Workspace

Example title must be gerunds in title case.

This example demonstrates how we can use the Workspace Operations Snap to extract/prepare a list of users in the Workspace that do not have admin privileges.

Firstly, we select List Users as the Operation in Workspace Operations Snap. This Snap does not need any other input and generates the list of all users added to the Workspace.

Workspace Operations Snap
Output

Now, we connect a Filter Snap to extract only the users who do not have admin privileges using the Filter expression $is_admin == False. This Snap yields the following output.

Filter Snap
Output

With this information at hand, we now connect a Mapper Snap to the Filter Snap to extract the user details we want to populate for each non-Admin user. This example showcases three fields - $id as id, $real_name as Name, and the result of an expression $is_admin == true?"Admin user":"Not Admin user" as Admin? for each non-Admin user in the list. You can map and extract as many fields as available for each user record in the Filter Snap's output.

Mapper Snap

Output

To save the extracted data as a file, you can choose to format this data using any Formatter Snap and write the output into a file (JSON, CSV, and so on) using the File Writer.

Download this Pipeline

Add a download link to the Pipeline in the the "Download" text above. Explain the Pipeline/Snap configuration in detail if a complex enough example has been used. Ensure that the functionality you are trying to illustrate is captured correctly. Include caveats as appropriate. To insert link: Press Ctrl + K --> Files --> Select the SLP file corresponding to the example. 

Downloads

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

Edit the Excerpt Include macro below to link to the Snap Pack page for this Snap page. Ensure that the heading Snap Pack History is not within the Snap Pack's history Excerpt. 


See Also

Provide links to the endpoint's official documentation, any relevant or related internal documentation, and any other links you have referred to on this page. Care should be taken when referencing external sites/documentation that it is an official site/documentation. Do not refer to forums such as stackoverflow.