in lambda/src/initiate_outbound_call.py [0:0]
def lambda_handler(event, context):
logger.info('Received event: %s', json.dumps(event, indent=2))
user_id = event['UserId']
date = event['Date']
user = lookup_user_by_id(user_id)
if not user:
raise AttributeError(f'Could not find user by id of {user_id}')
logger.debug(f'found user number: {user.phone}')
response = connect_client.start_outbound_voice_contact(
DestinationPhoneNumber=user.phone,
ContactFlowId=CONNECT_FLOW_ID,
InstanceId=CONNECT_INSTANCE_ID,
SourcePhoneNumber=SOURCE_NUMBER,
Attributes={}
)
logger.info('connect response event: %s', json.dumps(response, indent=2))
logger.info('successfully initiated outbound call.')
outreach_status = OutreachStatus.CalledUser.value
with DDBUpdateBuilder(
key={'Patient_ID': user_id, 'Report_Date': date},
table_name=SURVEY_COMPLETION_TABLE) as ddb_update_builder:
ddb_update_builder.update_attr(OUTREACH_STATUS_COL, outreach_status)
event[OUTREACH_STATUS_COL] = outreach_status
return event