async function callOutbound()

in amplify/backend/function/ConnectDialerJS/src/index.js [127:178]


async function callOutbound(phoneNumbers){
    // Start outbound call for each entry and update entry in DB

    //const promises = [];
    await phoneNumbers.forEach(async (item) => {
        var formatted = item['telephoneNumber'];
        console.log(`Attempting Call: ${formatted}`);

        let connectParams = {
            DestinationPhoneNumber: formatted,
            ContactFlowId: cFlowID,
            InstanceId: cID,
            SourcePhoneNumber: sNum
        };

        try {
            var response = await connect.startOutboundVoiceContact(connectParams).promise();
            console.log(response);
            console.log(`Call success for: ${response}`);
        } catch (error) {
            console.error(error);
        }

        //publishCWMetric()

        // Now Datetime
        var now = new Date();
        var nowseconds = Math.round(now.getTime() / 1000);
        var nowisostring = now.toISOString();

        let dynamoParams = {
            TableName: storageContactsStoreName,
            Key: {
                "telephoneNumber": item["telephoneNumber"]
            },
            UpdateExpression: "set contactAttempts = contactAttempts + :val, lastAttempt=:la, lastAttemptDateTime=:ladt",
            ExpressionAttributeValues: {
                ':val': 1,
                ':la': nowseconds,
                ':ladt': nowisostring
            }
        };
        console.log(`update DDB params: ${JSON.stringify(dynamoParams)}`);

        try {
            var result = await docClient.update(dynamoParams).promise();
        } catch (error) {
            console.error(error);
        }
        console.log(`queryDDB result: ${result}`); 
    });
}