Slack

Our 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 or decision records contained within that workspace. Please note that this integration is only available for the cloud service, and is not available for on-premises installations.

Not available with the Free Plan

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 button associated with the workspace on your dashboard. Please note that only workspace owners 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 button associated with the workspace on your Structurizr dashboard. 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}
  • Shareable: 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.