Confirm that your Amazon account can create resources for Agentforce Voice with Real-Time Streaming. Configure settings using your root user account or grant the required permissions to an IAM user or role.
License and Permission Requirements for Amazon Configuration
If you are using Salesforce Voice with Amazon Connect, you must have the Additional Service add-on license.
To configure Amazon Connect, you must have these permissions:
- app-integrations:ListApplications
- wisdom:ListAssistants
These permissions are automatically granted if you have the Additional Service add-on license.
Operator Permissions
The AWS Command Line Interface (CLI) names and the IAM action names use different prefixes.
Q in Connect commands authorize as wisdom. AppIntegrations commands
authorize as app-integrations.
Your Amazon account must have these permissions.
- Q in Connect:
wisdom:CreateAssistant,wisdom:CreateAIAgent,wisdom:CreateAIAgentVersion - AppIntegrations:
app-integrations:CreateApplication - Amazon Connect:
connect:CreateIntegrationAssociation,connect:UpdateSecurityProfile,connect:AssociateSecurityProfiles,connect:AssociateBot - Amazon Lex:
lex:CreateBot,lex:CreateBotLocale,lex:CreateIntent,lex:BuildBotLocale,lex:CreateBotVersion,lex:CreateBotAlias - IAM:
iam:ListRolesoriam:GetRoleto get the ARN of a role,iam:PassRoleon the Lex service-linked role passed tocreate-bot
If you are a Salesforce Voice with Telephony Providers customer, grant your Amazon account
secretsmanager:GetSecretValue,
secretsmanager:DescribeSecret, and kms:Decrypt so you can
read <identity>-salesforce-jwt-secret. Salesforce creates that secret
and rotates the token.
If you aren’t a Salesforce Voice with Telephony Providers customer, deploy
SalesforceJwtRotatorNonScvStack to add these operator actions.
- CloudFormation:
cloudformation:CreateStack,cloudformation:DescribeStacks,cloudformation:DescribeStackEvents - Lambda:
lambda:CreateFunction,lambda:GetFunction,lambda:AddPermission - EventBridge:
events:PutRule,events:PutTargets - Amazon S3:
s3:GetObjecton the artifact bucket named byS3BucketForScvResources - IAM:
iam:CreateRole,iam:PutRolePolicy,iam:AttachRolePolicy,iam:GetRole, andiam:PassRoleon the Lambda execution role forJwtTokenRotatorFunction - AWS Secrets Manager:
secretsmanager:CreateSecret,secretsmanager:PutResourcePolicy,secretsmanager:GetSecretValue,secretsmanager:DescribeSecret,secretsmanager:PutSecretValue,secretsmanager:TagResource - KMS:
kms:CreateKey,kms:CreateAlias,kms:DescribeKey,kms:PutKeyPolicy,kms:CreateGrant,kms:TagResource,kms:GenerateDataKey,kms:Decrypt,kms:Encrypt
The secretsmanager:PutSecretValue action replaces
REPLACE_WITH_PRIVATE_KEY in
<identity>-salesforce-secret.
Runtime Access
Amazon Connect reads the JWT at call time as the service principal
connect.amazonaws.com. Grant access to these resource policies, scoped to
this Amazon Connect instance.
- KMS key policy:
kms:Decryptandkms:DescribeKey - JWT secret resource policy:
secretsmanager:GetSecretValueon<identity>-salesforce-jwt-secret
The rotator Lambda role, which the stack creates, reads
<identity>-salesforce-secret and writes
<identity>-salesforce-jwt-secret. Those permissions belong to that
role.