### Get Lambda Function Configuration Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking to retrieve the configuration for a specific AWS Lambda function. ```text @Amazon Q get the configuration for my lambda function {{}}? ``` -------------------------------- ### Lambda function output example Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-run-lambda-function-remotely-tutorial.md Example output when a Lambda function is successfully invoked via Amazon Q. ```json ExecutedVersion: $LATEST Payload: "Hello World" StatusCode: 200 ``` -------------------------------- ### Ask how to list S3 Buckets Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking for instructions on how to list Amazon S3 buckets. ```text @Amazon Q how do I list my Amazon S3 buckets? ``` -------------------------------- ### Get help with command aliases Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/creating-aliases.md Access help documentation for command aliases and their usage. ```bash @Amazon Q help ``` ```bash @Amazon Q alias help ``` -------------------------------- ### Ask about Cost-Effective Container Services Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking for recommendations on cost-effective container services for a workload. ```text @Amazon Q what’s the best container service to use to run my workload if I need to keep my costs low? ``` -------------------------------- ### Start a Conversation with a Bedrock Agent Connector Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/bedrock-converse.md Use this command to initiate a new conversation with a specified connector and send your initial message. This starts a new session and thread in your chat channel. ```bash @Amazon Q ask {{connector_name}} {{your message}} ``` -------------------------------- ### Show Running EC2 Instances Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking to display all EC2 instances currently running in a specific region. ```text @Amazon Q can you show ec2 instances running in us-east-1? ``` -------------------------------- ### Example Slack Channel ARN Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/security_iam_service-with-iam-resource-based-policies.md An example ARN for a Slack channel configuration used in IAM policies. ```text arn:aws:chatbot::123456789021:chat-configuration/slack-channel/devops_channel_01 ``` -------------------------------- ### Ask about Lambda Function Runtime Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking about the maximum runtime for an AWS Lambda function. ```text @Amazon Q what’s the maximum runtime for a Lambda function? ``` -------------------------------- ### Custom Notification Metadata Example Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/sample-custom-action.md This JSON structure defines metadata for a custom action, including an IP address as an example. ```json { "version": "1.0", "source": "custom", "content": { "title": "IP Address Allowlist Request", "description": "We have received a request to allows list an IP address from 'sample@sample.com'." }, "metadata": { "additionalContext": { "IPAddress": "192.168.0.1" } } } ``` -------------------------------- ### Minimalist Custom Notification Example Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/custom-notifs.md A basic custom notification including only the required parameters: version, source, and description. It demonstrates basic markdown and @mention usage. ```json { "version": "1.0", "source": "custom", "content": { "description": ":warning: EC2 auto scaling refresh failed for ASG *OrderProcessorServiceASG*! \ncc: @SRE-Team" } } ``` -------------------------------- ### Ask about Fargate Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking a question about AWS Fargate directly in a chat channel. ```text @Amazon Q what is fargate? ``` -------------------------------- ### Get help for AWS services Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/Things-to-know-about-cli.md Use this command to get help for any AWS service within Amazon Q Developer in chat applications. It requires the service name to be appended after '@Amazon Q'. ```bash @Amazon Q lambda --help ``` ```bash @Amazon Q cloudwatch describe-alarms --help ``` -------------------------------- ### Complex Custom Notification Example Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/custom-notifs.md An advanced custom notification demonstrating various content options including textType, title, description, nextSteps, and @mentions. This example showcases rich formatting and actionable steps. ```json { "version": "1.0", "source": "custom", "id": "c-weihfjdsf", "content": { "textType": "client-markdown", "title": ":warning: Banana Order processing is down!", "description": "Banana Order processor application is no longer processing orders. OnCall team has been paged.", "nextSteps": [ "Refer to ", "@googlie: Page Jane if error persists over 30 minutes", ``` -------------------------------- ### Get Auto Scaling Group Size Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.md Example of asking for the size of an AWS auto scaling group in a specific region. ```text @Amazon Q what is the size of the auto scaling group {{}} in us-east-2? ``` -------------------------------- ### List all command aliases Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/creating-aliases.md Run this command to display all available command aliases configured for the current channel. ```bash @Amazon Q alias list ``` -------------------------------- ### Example Amazon Chime Webhook ARN Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/security_iam_service-with-iam-resource-based-policies.md An example ARN for an Amazon Chime webhook configuration used in IAM policies. ```text arn:aws:chatbot::123456789021:chat-configuration/chime-webhook/devops_webhook_IT_team_space ``` -------------------------------- ### Run read-only command to list Lambda functions Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/intro-to-the-aws-cli-in-slack.md Use this command to view a list of your Lambda functions. It requires the `@Amazon Q` prefix followed by the service and command. ```bash @Amazon Q lambda list-functions ``` -------------------------------- ### List Registered Connectors Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/bedrock-connectors.md Run this command to view all connectors that have been registered for your chat channel. ```bash @Amazon Q connector list ``` -------------------------------- ### CreateChimeWebhookConfiguration Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateChimeWebhookConfiguration.md Creates an Amazon Q Developer configuration for Amazon Chime. ```APIDOC ## POST /create-chime-webhook-configuration ### Description Creates an Amazon Q Developer configuration for Amazon Chime. ### Method POST ### Endpoint /create-chime-webhook-configuration ### Parameters #### Request Body - **ConfigurationName** (string) - Required - The name of the configuration. Minimum length of 1. Maximum length of 128. Pattern: `[A-Za-z0-9-_]+` - **IamRoleArn** (string) - Required - A user-defined role that Amazon Q Developer assumes. Minimum length of 12. Maximum length of 1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` - **LoggingLevel** (string) - Optional - Logging levels include `ERROR`, `INFO`, or `NONE`. Minimum length of 4. Maximum length of 5. Pattern: `(ERROR|INFO|NONE)` - **SnsTopicArns** (Array of strings) - Required - The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to Amazon Q Developer. Minimum length of 12. Maximum length of 1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` - **Tags** (Array of Tag objects) - Optional - A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. - **WebhookDescription** (string) - Required - A description of the webhook. Minimum length of 1. Maximum length of 255. - **WebhookUrl** (string) - Required - The URL for the Amazon Chime webhook. Minimum length of 1. Maximum length of 255. Pattern: `https://hooks\.chime\.aws/incomingwebhooks/[A-Za-z0-9\-]+?\?token=[A-Za-z0-9\-]+` ### Request Example ```json { "ConfigurationName": "{{string}}", "IamRoleArn": "{{string}}", "LoggingLevel": "{{string}}", "SnsTopicArns": [ "{{string}}" ], "Tags": [ { "TagKey": "{{string}}", "TagValue": "{{string}}" } ], "WebhookDescription": "{{string}}", "WebhookUrl": "{{string}}" } ``` ### Response #### Success Response (201) - **field1** (type) - Description ``` -------------------------------- ### Incident Manager Permissions Policy Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.md Enables Amazon Q to start, view, and update incidents, and create timeline events. This policy includes permissions for starting incidents, reading response plans, and managing incident records and timeline events. ```json { "Version":"2012-10-17", "Statement": [ { "Sid": "StartIncidentPermissions", "Effect": "Allow", "Action": [ "ssm-incidents:StartIncident" ], "Resource": "*" }, { "Sid": "ResponsePlanReadOnlyPermissions", "Effect": "Allow", "Action": [ "ssm-incidents:ListResponsePlans", "ssm-incidents:GetResponsePlan" ], "Resource": "*" }, { "Sid": "IncidentRecordResolverPermissions", "Effect": "Allow", "Action": [ "ssm-incidents:ListIncidentRecords", "ssm-incidents:GetIncidentRecord", "ssm-incidents:UpdateIncidentRecord", "ssm-incidents:ListTimelineEvents", "ssm-incidents:CreateTimelineEvent", "ssm-incidents:GetTimelineEvent", "ssm-incidents:UpdateTimelineEvent", "ssm-incidents:DeleteTimelineEvent", "ssm-incidents:ListRelatedItems", "ssm-incidents:UpdateRelatedItems" ], "Resource": "*" } ] } ``` -------------------------------- ### CreateSlackChannelConfiguration Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateSlackChannelConfiguration.md Creates a Slack channel configuration for Amazon Q Developer. ```APIDOC ## POST /createSlackChannelConfiguration ### Description Creates a Slack channel configuration for Amazon Q Developer. ### Method POST ### Endpoint /createSlackChannelConfiguration ### Request Body - **ChatConfigurationArn** (string) - Required - The ARN of the chat configuration. - **ConfigurationName** (string) - Required - The name of the configuration. - **GuardrailPolicyArns** (array of strings) - Optional - A list of ARNs for guardrail policies. - **IamRoleArn** (string) - Required - The ARN of the IAM role. - **LoggingLevel** (string) - Optional - The logging level for the configuration. - **SlackChannelId** (string) - Required - The ID of the Slack channel. - **SlackChannelName** (string) - Required - The name of the Slack channel. - **SlackTeamId** (string) - Required - The ID of the Slack team. - **SlackTeamName** (string) - Required - The name of the Slack team. - **SnsTopicArns** (array of strings) - Optional - A list of ARNs for SNS topics. - **UserAuthorizationRequired** (boolean) - Optional - Whether user authorization is required. ### Response #### Success Response (201) - **ChannelConfiguration** (SlackChannelConfiguration object) - The configuration for a Slack channel configured with Amazon Q Developer. #### Response Example { "ChannelConfiguration": { "ChatConfigurationArn": "string", "ConfigurationName": "string", "GuardrailPolicyArns": [ "string" ], "IamRoleArn": "string", "LoggingLevel": "string", "SlackChannelId": "string", "SlackChannelName": "string", "SlackTeamId": "string", "SlackTeamName": "string", "SnsTopicArns": [ "string" ], "State": "string", "StateReason": "string", "Tags": [ { "TagKey": "string", "TagValue": "string" } ], "UserAuthorizationRequired": true } } ### Errors - **ConflictException** (409) - There was an issue processing your request. - **CreateSlackChannelConfigurationException** (500) - We can’t process your request right now because of a server issue. Try again later. - **InvalidParameterException** (400) - Your request input doesn't meet the constraints required by Amazon Q Developer. - **InvalidRequestException** (400) - Your request input doesn't meet the constraints required by Amazon Q Developer. - **LimitExceededException** (403) - You have exceeded a service limit for Amazon Q Developer. ``` -------------------------------- ### CreateSlackChannelConfiguration Request Syntax Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateSlackChannelConfiguration.md This snippet shows the POST request syntax for creating a Slack channel configuration. It includes all available parameters and their expected data types. ```HTTP POST /create-slack-channel-configuration HTTP/1.1 Content-type: application/json { "ConfigurationName": "{{string}}", "GuardrailPolicyArns": [ "{{string}}" ], "IamRoleArn": "{{string}}", "LoggingLevel": "{{string}}", "SlackChannelId": "{{string}}", "SlackChannelName": "{{string}}", "SlackTeamId": "{{string}}", "SnsTopicArns": [ "{{string}}" ], "Tags": [ { "TagKey": "{{string}}", "TagValue": "{{string}}" } ], "UserAuthorizationRequired": {{boolean}} } ``` -------------------------------- ### DescribeSlackChannelConfigurations Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_Operations.md Retrieves a list of Slack channel configurations. ```APIDOC ## DescribeSlackChannelConfigurations ### Description Retrieves a list of Slack channel configurations. ### Method GET ### Endpoint /describeSlackChannelConfigurations ``` -------------------------------- ### DescribeSlackChannelConfigurations Request Syntax Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_DescribeSlackChannelConfigurations.md This snippet shows the HTTP POST request structure for the DescribeSlackChannelConfigurations API, including the content type and a sample JSON body. ```HTTP POST /describe-slack-channel-configurations HTTP/1.1 Content-type: application/json { "ChatConfigurationArn": "{{string}}", "MaxResults": {{number}}, "NextToken": "{{string}}" } ``` -------------------------------- ### Run an Automation Runbook using CLI Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/common-use-cases.md Execute an Automation runbook by specifying the document name and its parameters. This is useful for automating operational tasks. ```bash @Amazon Q ssm start-automation-execution --document-name "AWS-UpdateLinuxAmi" --parameters "AutomationAssumeRole=arn:aws:iam::123456789012:role/SSMAutomationRole,SourceAmiId=ami-EXAMPLE,IamInstanceProfileName=EC2InstanceRole" ``` -------------------------------- ### IAM ReadOnlyAccess Policy JSON Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.md This is the JSON policy for the AWS managed ReadOnlyAccess policy. It grants Get, List, and Describe permissions for a wide range of AWS services. ```json { "Version":"2012-10-17", "Statement": [ { "Action": [ "a4b:Get*", "a4b:List*", "a4b:Search*", "acm:Describe*", "acm:Get*", "acm:List*", "acm-pca:Describe*", "acm-pca:Get*", "acm-pca:List*", "amplify:GetApp", "amplify:GetBranch", "amplify:GetJob", "amplify:GetDomainAssociation", "amplify:ListApps", "amplify:ListBranches", "amplify:ListDomainAssociations", "amplify:ListJobs", "xray:BatchGet*", "xray:Get*" ], "Effect": "Allow", "Resource": "*" } ] } ``` -------------------------------- ### Example IAM Policy for Denying Access Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-troubleshooting.md This IAM policy denies all actions except for chatbot-related ones, and restricts them to the us-east-2 region. Ensure this policy is correctly configured for your service. ```json { "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "NotAction": [ "chatbot:*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-2" ] } } } ] } ``` -------------------------------- ### DescribeSlackChannelConfigurations Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_DescribeSlackChannelConfigurations.md Retrieves a list of Slack channel configurations. This operation supports pagination using the NextToken parameter. ```APIDOC ## DescribeSlackChannelConfigurations ### Description Retrieves a list of Slack channel configurations. This operation supports pagination using the NextToken parameter. ### Method GET ### Endpoint /channels ### Query Parameters - **NextToken** (string) - Optional - An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. ### Response #### Success Response (200) - **NextToken** (string) - An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. - **SlackChannelConfigurations** (Array of SlackChannelConfiguration objects) - A list of Slack channel configurations. #### Response Example ```json { "NextToken": "string", "SlackChannelConfigurations": [ { "ChatConfigurationArn": "string", "ConfigurationName": "string", "GuardrailPolicyArns": [ "string" ], "IamRoleArn": "string", "LoggingLevel": "string", "SlackChannelId": "string", "SlackChannelName": "string", "SlackTeamId": "string", "SlackTeamName": "string", "SnsTopicArns": [ "string" ], "State": "string", "StateReason": "string", "Tags": [ { "TagKey": "string", "TagValue": "string" } ], "UserAuthorizationRequired": true } ] } ``` ### Errors - **DescribeSlackChannelConfigurationsException** - We can’t process your request right now because of a server issue. Try again later. (HTTP Status Code: 500) - **InvalidParameterException** - Your request input doesn't meet the constraints required by Amazon Q Developer. (HTTP Status Code: 400) - **InvalidRequestException** - Your request input doesn't meet the constraints required by Amazon Q Developer. (HTTP Status Code: 400) ``` -------------------------------- ### CreateSlackChannelConfiguration Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateSlackChannelConfiguration.md Creates a new Slack channel configuration for Amazon Q Developer. This involves specifying the Slack channel details, IAM role for permissions, and optional configurations like guardrails, SNS topics, and logging levels. ```APIDOC ## POST /createSlackChannelConfiguration ### Description Creates a new Slack channel configuration for Amazon Q Developer. ### Method POST ### Endpoint /createSlackChannelConfiguration ### Parameters #### Request Body - **ConfigurationName** (string) - Required - The name of the configuration. Minimum length of 1, maximum length of 128. Pattern: `[A-Za-z0-9-_]+` - **GuardrailPolicyArns** (array of strings) - Optional - The list of IAM policy ARNs that are applied as channel guardrails. Minimum length of 11, maximum length of 1163. Pattern: `(^$|(?!.*\/aws-service-role\/.*)arn:aws:iam:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\/+=,@.-]{0,1023})` - **IamRoleArn** (string) - Required - A user-defined role that Amazon Q Developer assumes. Minimum length of 12, maximum length of 1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_\/.-]{0,62}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\/+=,@.-]{0,1023}` - **LoggingLevel** (string) - Optional - Logging levels include `ERROR`, `INFO`, or `NONE`. Minimum length of 4, maximum length of 5. Pattern: `(ERROR|INFO|NONE)` - **SlackChannelId** (string) - Required - The ID of the Slack channel. Minimum length of 1, maximum length of 255. Pattern: `[A-Za-z0-9]+` - **SlackChannelName** (string) - Optional - The name of the Slack channel. Minimum length of 1, maximum length of 255. - **SlackTeamId** (string) - Required - The ID of the Slack workspace authorized with Amazon Q Developer. Minimum length of 1, maximum length of 255. Pattern: `[0-9A-Z]{1,255}` - **SnsTopicArns** (array of strings) - Optional - The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to Amazon Q Developer. Minimum length of 12, maximum length of 1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_\/.-]{0,62}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\/+=,@.-]{0,1023}` - **Tags** (array of Tag objects) - Optional - A map of tags assigned to a resource. - **UserAuthorizationRequired** (boolean) - Optional - Enables use of a user role requirement in your chat configuration. ### Response #### Success Response (201) (Response details not provided in source text) ``` -------------------------------- ### Invoke Lambda function to test CloudWatch alarm Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-run-lambda-function-remotely-tutorial.md Invoke the modified Lambda function to test the CloudWatch alarm setup. This command should result in an error output and a Slack notification. ```bash @Amazon Q invoke myHelloWorld ``` -------------------------------- ### Get Microsoft Teams Channel Configuration Response Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_GetMicrosoftTeamsChannelConfiguration.md This snippet illustrates the structure of a successful response from the GetMicrosoftTeamsChannelConfiguration API. It returns detailed configuration information for the specified Microsoft Teams channel. ```JSON HTTP/1.1 200 Content-type: application/json { "ChannelConfiguration": { "ChannelId": "string", "ChannelName": "string", "ChatConfigurationArn": "string", "ConfigurationName": "string", "GuardrailPolicyArns": [ "string" ], "IamRoleArn": "string", "LoggingLevel": "string", "SnsTopicArns": [ "string" ], "State": "string", "StateReason": "string", "Tags": [ { "TagKey": "string", "TagValue": "string" } ], "TeamId": "string", "TeamName": "string", "TenantId": "string", "UserAuthorizationRequired": boolean } } ``` -------------------------------- ### DescribeChimeWebhookConfigurations Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_DescribeChimeWebhookConfigurations.md Describes the Chime webhook configurations for the AWS account. This operation supports pagination. ```APIDOC ## GET /webhooks ### Description Retrieves a list of Amazon Chime webhooks associated with the account. This operation supports pagination using the `NextToken` parameter. ### Method GET ### Endpoint /webhooks ### Parameters #### Query Parameters - **NextToken** (string) - Optional - An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Length Constraints: Minimum length of 1. Maximum length of 1276. Pattern: `[a-zA-Z0-9=\/+_.\-,#:\"{}]{4,1276}` ### Response #### Success Response (200) - **NextToken** (string) - An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. - **WebhookConfigurations** (Array of ChimeWebhookConfiguration objects) - A list of Amazon Chime webhooks associated with the account. #### Response Example ```json { "NextToken": "string", "WebhookConfigurations": [ { "ChatConfigurationArn": "string", "ConfigurationName": "string", "IamRoleArn": "string", "LoggingLevel": "string", "SnsTopicArns": [ "string" ], "State": "string", "StateReason": "string", "Tags": [ { "TagKey": "string", "TagValue": "string" } ], "WebhookDescription": "string" } ] } ``` ### Errors - **DescribeChimeWebhookConfigurationsException** (500) - We can’t process your request right now because of a server issue. Try again later. - **InvalidParameterException** (400) - Your request input doesn't meet the constraints required by Amazon Q Developer. - **InvalidRequestException** (400) - Your request input doesn't meet the constraints required by Amazon Q Developer. ``` -------------------------------- ### Get Microsoft Teams Channel Configuration Request Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_GetMicrosoftTeamsChannelConfiguration.md This snippet shows the structure of a POST request to retrieve Microsoft Teams channel configuration. It requires the ChatConfigurationArn to be specified in the JSON body. ```HTTP POST /get-ms-teams-channel-configuration HTTP/1.1 Content-type: application/json { "ChatConfigurationArn": "{{string}}" } ``` -------------------------------- ### Example Amazon Q Developer in chat applications Organization Policy Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-orgs-policy.md This policy configures restricted Amazon Q Developer in chat applications access for specific Slack workspaces and a Microsoft Teams tenant. It defines supported channel types and role settings, with overrides for specific workspaces. ```json { "chatbot":{ "platforms":{ "slack":{ "client":{ "@@assign":"enabled" }, "workspaces": { "@@assign":[ "Slack-Workspace-Id1", "Slack-Workspace-Id2" ] }, "default":{ "supported_channel_types":{ "@@assign":[ "private" ] }, "supported_role_settings":{ "@@assign":[ "user_role" ] } }, "overrides":{ "Slack-Workspace-Id2":{ "supported_channel_types":{ "@@assign":[ "public", "private" ] }, "supported_role_settings":{ "@@assign":[ "channel_role", "user_role" ] } } } }, "microsoft_teams":{ "client":{ "@@assign":"enabled" }, "tenants":{ "Microsoft-Teams-Tenant-Id":{ "@@assign":[ "Microsoft-Teams-Team-Id" ] } }, "default":{ ``` -------------------------------- ### CreateSlackChannelConfiguration Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateSlackChannelConfiguration.md Creates an Amazon Q Developer configuration for Slack. This operation allows you to set up a new configuration for integrating Slack channels with Amazon Q Developer, including specifying necessary permissions and notification settings. ```APIDOC ## POST /create-slack-channel-configuration ### Description Creates an Amazon Q Developer configuration for Slack. ### Method POST ### Endpoint /create-slack-channel-configuration ### Request Body - **ConfigurationName** (string) - Required - The name of the configuration. - **GuardrailPolicyArns** (array of strings) - Optional - A list of ARNs for guardrail policies. - **IamRoleArn** (string) - Required - The ARN of the IAM role to use. - **LoggingLevel** (string) - Optional - The logging level for the configuration. - **SlackChannelId** (string) - Required - The ID of the Slack channel. - **SlackChannelName** (string) - Optional - The name of the Slack channel. - **SlackTeamId** (string) - Required - The ID of the Slack team. - **SnsTopicArns** (array of strings) - Optional - A list of ARNs for SNS topics. - **Tags** (array of objects) - Optional - Tags to associate with the configuration. - **TagKey** (string) - Required - The key of the tag. - **TagValue** (string) - Required - The value of the tag. - **UserAuthorizationRequired** (boolean) - Optional - Whether user authorization is required. ``` -------------------------------- ### Amazon Q Permissions Policy (AmazonQFullAccess) Source: https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.md This AWS managed policy provides full access for interacting with Amazon Q, including administrator access and the ability to log in with IAM Identity Center. It enables features like starting conversations, sending messages, and managing plugins. This policy is visible in the Amazon Q Developer in chat applications console. ```json { "Version":"2012-10-17", "Statement" : [ { "Sid" : "AllowAmazonQFullAccess", "Effect" : "Allow", "Action" : [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest", "q:StartTroubleshootingAnalysis", "q:GetTroubleshootingResults", "q:StartTroubleshootingResolutionExplanation", "q:UpdateTroubleshootingCommandResult", "q:GetIdentityMetadata", "q:CreateAssignment", "q:DeleteAssignment", "q:GenerateCodeFromCommands", "q:CreatePlugin", "q:DeletePlugin", "q:GetPlugin", "q:UsePlugin", "q:ListPlugins", "q:ListPluginProviders", "q:ListTagsForResource", "q:UntagResource", "q:TagResource" ], "Resource" : "*" }, { "Sid" : "AllowCloudControlReadAccess", ``` -------------------------------- ### ListMicrosoftTeamsChannelConfigurations Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_Operations.md Lists Microsoft Teams channel configurations. ```APIDOC ## ListMicrosoftTeamsChannelConfigurations ### Description Lists Microsoft Teams channel configurations. ### Method GET ### Endpoint /listMicrosoftTeamsChannelConfigurations ``` -------------------------------- ### DescribeSlackChannelConfigurations Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_DescribeSlackChannelConfigurations.md Lists Slack channel configurations optionally filtered by ChatConfigurationArn. ```APIDOC ## POST /describe-slack-channel-configurations ### Description Lists Slack channel configurations optionally filtered by ChatConfigurationArn. ### Method POST ### Endpoint /describe-slack-channel-configurations ### Parameters #### Request Body - **ChatConfigurationArn** (string) - Optional - An optional Amazon Resource Name (ARN) of a SlackChannelConfiguration to describe. Length Constraints: Minimum length of 19. Maximum length of 1169. Pattern: `arn:aws:(wheatley|chatbot):[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` - **MaxResults** (number) - Optional - The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. Valid Range: Minimum value of 1. Maximum value of 100. - **NextToken** (string) - Optional - An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Length Constraints: Minimum length of 1. Maximum length of 1276. Pattern: `[a-zA-Z0-9=\/+_.\-,#:\"{}]{4,1276}` ``` -------------------------------- ### DescribeSlackWorkspaces Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_Operations.md Retrieves a list of Slack workspaces. ```APIDOC ## DescribeSlackWorkspaces ### Description Retrieves a list of Slack workspaces. ### Method GET ### Endpoint /describeSlackWorkspaces ``` -------------------------------- ### DescribeSlackWorkspaces Request Syntax Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_DescribeSlackWorkspaces.md This is the basic structure for making a POST request to the DescribeSlackWorkspaces API endpoint. It includes optional parameters for pagination. ```HTTP POST /describe-slack-workspaces HTTP/1.1 Content-type: application/json { "MaxResults": {{number}}, "NextToken": "{{string}}" } ``` -------------------------------- ### CreateMicrosoftTeamsChannelConfiguration Request Syntax Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_CreateMicrosoftTeamsChannelConfiguration.md This is the request syntax for the CreateMicrosoftTeamsChannelConfiguration API. It shows the HTTP method, endpoint, and the JSON body structure. ```json POST /create-ms-teams-channel-configuration HTTP/1.1 Content-type: application/json { "ChannelId": "{{string}}", "ChannelName": "{{string}}", "ConfigurationName": "{{string}}", "GuardrailPolicyArns": [ "{{string}}" ], "IamRoleArn": "{{string}}", "LoggingLevel": "{{string}}", "SnsTopicArns": [ "{{string}}" ], "Tags": [ { "TagKey": "{{string}}", "TagValue": "{{string}}" } ], "TeamId": "{{string}}", "TeamName": "{{string}}", "TenantId": "{{string}}", "UserAuthorizationRequired": {{boolean}} } ``` -------------------------------- ### SlackChannelConfiguration Structure Source: https://docs.aws.amazon.com/chatbot/latest/APIReference/API_SlackChannelConfiguration.md This snippet outlines the structure of the SlackChannelConfiguration object, including all its properties, their types, constraints, and whether they are required. ```APIDOC ## SlackChannelConfiguration An Amazon Q Developer configuration for Slack. ### Properties * **ChatConfigurationArn** (String) - Required. The Amazon Resource Name (ARN) of the SlackChannelConfiguration. Length: 19-1169. Pattern: `arn:aws:(wheatley|chatbot):[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` * **IamRoleArn** (String) - Required. A user-defined role that Amazon Q Developer assumes. Length: 12-1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` * **SlackChannelId** (String) - Required. The ID of the Slack channel. Length: 1-255. Pattern: `[A-Za-z0-9]+` * **SlackChannelName** (String) - Required. The name of the Slack channel. Length: 1-255. * **SlackTeamId** (String) - Required. The ID of the Slack workspace authorized with Amazon Chime. Length: 1-255. Pattern: `[0-9A-Z]{1,255}` * **SlackTeamName** (String) - Required. Name of the Slack workspace. Length: 1-255. * **SnsTopicArns** (Array of strings) - Required. The ARNs of the SNS topics that deliver notifications to Amazon Q Developer. Length: 12-1224. Pattern: `arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}` * **ConfigurationName** (String) - Optional. The name of the configuration. Length: 1-128. Pattern: `[A-Za-z0-9-_]+` * **GuardrailPolicyArns** (Array of strings) - Optional. The list of IAM policy ARNs that are applied as channel guardrails. Pattern: `(^$|(?!.*\/aws-service-role\/.*)arn:aws:iam:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9_\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\/+=,@.-]{0,1023})` * **LoggingLevel** (String) - Optional. Logging levels include `ERROR`, `INFO`, or `NONE`. Length: 4-5. Pattern: `(ERROR|INFO|NONE)` * **State** (String) - Optional. Either `ENABLED` or `DISABLED`. Pattern: `(ENABLED|DISABLED)` * **StateReason** (String) - Optional. Provided if State is `DISABLED`. Provides context as to why the resource is disabled. * **Tags** (Array of [Tag](API_Tag.md) objects) - Optional. A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs. * **UserAuthorizationRequired** (Boolean) - Optional. Enables use of a user role requirement in your chat configuration. ```