Skip to main content

Creating A Lambda Function

Log on to your AWS Lambda Console and Navigate to Lambda and click on the Create function button on the right. Follow the step below to create a function and upload your code

  1. Choose Author from scratch option from the tab.
  2. Enter a Function name and choose your favourite Runtime. Leave all things default for now.
  3. Click Create function to create a lambda function.

Wait till your function is ready.

Example - Save Email Subscription#

Follow the same steps as above and create a function called saveSubscriptionNodeJS and choose nodeJs 14.x as runtime. You will see a picture like below.

Apito Console - AWS Lambda Configuration

Write your AWS Lambda Function#

Paste the following code into the code section of your editor that you can see in your AWS IDE for Lambda

const axios = require('axios');
const gql = require('graphql-tag');
const graphql = require('graphql');
const { print } = graphql;
const createSubscriber = gql`
mutation CreateSubscriber($phone: String) {
createSubscriber(payload: {phone: $phone}) {
data {
exports.handler = async (event, context, callback) => {
try {
let incomingRequest = event.payload;
const phone =;
if (phone == null || phone == "") {
console.log('phone number not found');
return {
statusCode: 400,
errorMessage: "Phone Number Not Found In the Request"
const graphqlData = await axios({
url: process.env.APITO_URL,
method: 'post',
headers: {
'Authorization': `Bearer ${process.env.APITO_TOKEN}`
data: {
query: print(createSubscriber),
variables: {
phone: phone
return {
} catch (err) {
console.log('error posting to appsync: ', err);
return {
statusCode: 400,
errorMessage: err

In the code above, we are checking if the phone number is provided or not ( You can add phone number validation if you want) and then using a graphql client we are storing the phone number into our own model called subscriber

Publishing AWS Lambda Function#

Each time you make any changes Click Deploy button to save and apply your changes.