Slack

Slack integration allows you to perform a full-text search across a single workspace, using a slash command of your choice, providing an easy way to find diagrams, documentation, and decision records contained within that workspace.

Slack integration

Enabling Slack integration

There are two steps to enabling Slack integration:

1. Enable Slack integration in Structurizr

To enable Slack integration for a workspace, click the “Enable Slack integration” button on the workspace settings page. Please note that only workspace owners/admins can perform this action.

This will create a unique URL that will needed in step 2, and the URL will look something like this:

  • https://api.structurizr.com/slack/workspace/123456/7f381dbf-df53-4b69-89c2-67954090f54e

2. Create a slash command in Slack

Next, create a custom slash command in Slack. You can use this logo if needed. When prompted for the “Request URL”, use the URL from step 1 (above), which you can find on your dashboard.

If required, you can create additional slash commands to integrate other workspaces.

Using Slack integration

To use the Slack integration, just type your slash command followed by the search term. For example: /structurizr context

This will return a maximum of 10 search results for the given search term, which you can then click on to navigate into Structurizr.

Disabling Slack integration

To disable Slack integration, click the “Disable Slack integration” button on the workspace settings page. You should also uninstall the slash command from Slack too.

Security considerations

Once installed into Slack, anybody with access to your Slack workspace will be able to search the Structurizr workspace and see the search results. The unique Slack URL generated by enabling the Slack integration can only be used for searching a given Structurizr workspace, and cannot be used to retrieve the full content of that workspace.

Restricting the slash command to a single channel

To restrict the slash command so that it can only be used in a single channel, add the Slack channel ID (not the name) to the end of the URL; for example:

  • https://api.structurizr.com/slack/workspace/123456/7f381dbf-df53-4b69-89c2-67954090f54e/GCEHR3UNM

Search result URLs

The URLs returned for search results are based upon the visibility of the workspace, as follows:

  • Private: the private URLs will be used, so users will need to be signed in to see content; e.g. https://structurizr.com/workspace/{workspaceId}
  • Sharing link enabled: the shareable URLs will be used; e.g. https://structurizr.com/share/{workspaceId}/{sharingToken}
  • Public: the public URLs will be used; e.g. https://structurizr.com/share/{workspaceId}

In addition, if the workspace is not marked as private, PNG versions of diagrams will be included as attachments in the search results.

Notes

  • This is a paid cloud service feature.