Export your AWS credentials as env variables (or use aws-vault).
AWS role: arn:aws:iam::552821478383:role/Nordcloud-MC-Connect
Start local API:
- Run Docker
npm install
npm start
- Go to http://localhost:3000
The server will restart on every file change. If it crashes - restart it manually. Changes in in the src/assets folder are picked without restarting the server.
Troubleshooting:
- Session expired — You need to log in with AWS Connect SAML SSO. Look for the link in id.nordcloud.com. If you don't see the link request access.
- The security token included in the request is invalid — The AWS credentials are expired or missing. Lambda is trying to connect to DynamoDB.
dev: npm run deploy:dev
.
prod: Push to main
branch.
dev: https://cx1wq7djx5.execute-api.eu-central-1.amazonaws.com
prod: https://t2yzyfrm23.execute-api.eu-central-1.amazonaws.com
- Sign-in method: OIDC - OpenID Connect
- Application type: Single-Page Application
- Proof Key for Code Exchange (PKCE): enabled
- Grant type: Authorization Code
- Sign-in redirect URIs: api-url/oauth-callback
- Sign-out redirect URIs: api-url
- In "Approved origins": add urls for prod, dev and localhost.
- In "Contact flows": Add the "connect-outbound-flow" lambda for prod and dev.
Connect Dashboard > Contact Flow > Whisper Outbound Flow
- Add a "Invoke AWS Lambda function" block. Choose the lambda for "connect-outbound-flow". Add a function input parameter - Destination Key:
Username
, (Set Dynamically) Namespace: Agent, Value: User name. Timeout: 8 - Add a "Call Phone Number” block, link it to the the previous block. Set "Caller ID number to display" > User Attribute > Namespace: External > Value:
caller_id
,