

# CreateCustomAction
<a name="API_CreateCustomAction"></a>

Creates a custom action that can be invoked as an alias or as a button on a notification.

## Request Syntax
<a name="API_CreateCustomAction_RequestSyntax"></a>

```
POST /create-custom-action HTTP/1.1
Content-type: application/json

{
   "ActionName": "string",
   "AliasName": "string",
   "Attachments": [ 
      { 
         "ButtonText": "string",
         "Criteria": [ 
            { 
               "Operator": "string",
               "Value": "string",
               "VariableName": "string"
            }
         ],
         "NotificationType": "string",
         "Variables": { 
            "string" : "string" 
         }
      }
   ],
   "ClientToken": "string",
   "Definition": { 
      "CommandText": "string"
   },
   "Tags": [ 
      { 
         "TagKey": "string",
         "TagValue": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateCustomAction_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_CreateCustomAction_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [ActionName](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-ActionName"></a>
The name of the custom action. This name is included in the Amazon Resource Name (ARN).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]{1,64}`   
Required: Yes

 ** [AliasName](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-AliasName"></a>
The name used to invoke this action in a chat channel. For example, `@Amazon Q run my-alias`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 30.  
Pattern: `[A-Za-z0-9-_]+`   
Required: No

 ** [Attachments](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-Attachments"></a>
Defines when this custom action button should be attached to a notification.  
Type: Array of [CustomActionAttachment](API_CustomActionAttachment.md) objects  
Required: No

 ** [ClientToken](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-ClientToken"></a>
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.  
If you do not specify a client token, one is automatically generated by the SDK.  
Type: String  
Length Constraints: Minimum length of 33. Maximum length of 126.  
Pattern: `[\x21-\x7F]+`   
Required: No

 ** [Definition](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-Definition"></a>
The definition of the command to run when invoked as an alias or as an action button.  
Type: [CustomActionDefinition](API_CustomActionDefinition.md) object  
Required: Yes

 ** [Tags](#API_CreateCustomAction_RequestSyntax) **   <a name="qdevinchatapps-CreateCustomAction-request-Tags"></a>
A map of tags assigned to a resource. A tag is a string-to-string map of key-value pairs.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Syntax
<a name="API_CreateCustomAction_ResponseSyntax"></a>

```
HTTP/1.1 201
Content-type: application/json

{
   "CustomActionArn": "string"
}
```

## Response Elements
<a name="API_CreateCustomAction_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

 ** [CustomActionArn](#API_CreateCustomAction_ResponseSyntax) **   <a name="qdevinchatapps-CreateCustomAction-response-CustomActionArn"></a>
The fully defined ARN of the custom action.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Pattern: `arn:aws:chatbot::[0-9]{12}:custom-action/[a-zA-Z0-9_-]{1,64}` 

## Errors
<a name="API_CreateCustomAction_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
There was an issue processing your request.  
HTTP Status Code: 409

 ** InternalServiceError **   
Unexpected error during processing of request.  
HTTP Status Code: 500

 ** InvalidRequestException **   
Your request input doesn't meet the constraints required by Amazon Q Developer.  
HTTP Status Code: 400

 ** LimitExceededException **   
You have exceeded a service limit for Amazon Q Developer.  
HTTP Status Code: 403

 ** UnauthorizedException **   
The request was rejected because it doesn't have valid credentials for the target resource.  
HTTP Status Code: 403

## See Also
<a name="API_CreateCustomAction_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/chatbot-2017-10-11/CreateCustomAction) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/chatbot-2017-10-11/CreateCustomAction) 