Import and map Slack resources in Service Catalog
Install the Slack integration in Konnect and authorize it using Slack admin credentials. Create a Service Catalog service and associate it with your Slack channel to improve visibility and ownership.
Prerequisites
Kong Konnect
If you don’t have a Konnect account, you can get started quickly with our onboarding wizard.
- The following Konnect items are required to complete this tutorial:
- Personal access token (PAT): Create a new personal access token by opening the Konnect PAT page and selecting Generate Token.
-
Set the personal access token as an environment variable:
export KONNECT_TOKEN='YOUR KONNECT TOKEN'
Konnect roles
You need the Integration Admin role in Konnect to install and authorize Service Catalog integrations.
Slack admin access
You must be a Slack admin to authorize the integration. Both read and write scopes are required by Konnect to complete the connection.
Authorize the Slack integration
- From the Service Catalog in Konnect, click Integrations.
- Click Slack, then click Add Slack instance.
- Name your integration
slack
and authorize the Slack instance. Slack will prompt you to grant read and write permissions to Konnect. Only Slack administrators can authorize the integration.
Once authorized, resources from your Slack account will be discoverable in the UI.
Create a service in Service Catalog
Create a service that you’ll map to your Slack resources:
curl -X POST "https://us.api.konghq.com/v1/catalog-services" \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"name": "billing",
"display_name": "Billing Service"
}'
Export the service ID:
export SLACK_SERVICE_ID='YOUR-SERVICE-ID'
List Slack resources
Before you can map your Slack resources to a service in Service Catalog, you first need to find the resources that are pulled in from Slack:
curl -X GET "https://us.api.konghq.com/v1/resources?filter%5Bintegration.name%5D=slack" \
-H "Authorization: Bearer $KONNECT_TOKEN"
You might need to manually sync your Slack integration for resources to appear. From the Konnect UI by navigating to the Slack integration you just installed and selecting Sync Now from the Actions dropdown menu.
Export the resource ID you want to map to the service:
export SLACK_RESOURCE_ID='YOUR-RESOURCE-ID'
Map resources to a service
Now, you can map the Slack resource to the service:
curl -X POST "https://us.api.konghq.com/v1/resource-mappings" \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"service": "billing",
"resource": "'$SLACK_RESOURCE_ID'"
}'
Validate the mapping
To confirm that the Slack resource is now mapped to the intended service, list the service’s mapped resources:
curl -X GET "https://us.api.konghq.com/v1/catalog-services/$SLACK_SERVICE_ID/resources" \
-H "Authorization: Bearer $KONNECT_TOKEN"