exports.handler = async (event) => { var aws = require('aws-sdk'); var sts = new aws.STS({ region: process.env.REGION }); var stsParams = { RoleArn: "arn-of-role-in-other-account", DurationSeconds: 3600, RoleSessionName: "Any string" }; const stsResults = await sts.assumeRole(stsParams).promise(); console.log(stsResults); var lambda = new aws.Lambda({ region: process.env.REGION, accessKeyId: stsResults.Credentials.AccessKeyId, secretAccessKey:stsResults.Credentials.SecretAccessKey, sessionToken: stsResults.Credentials.SessionToken }); const result = await lambda.invoke({ FunctionName: 'arn-of-function-in-other-account', InvocationType: 'RequestResponse', Payload: "{}" // pass params }).promise(); console.log("The result was: " + JSON.stringify(result)); const response = { statusCode: 200, body: result.Payload }; return response; };