docs/framework/quickstart/lambda.mdx
In this guide, we will add a Novu Bridge Endpoint to a AWS Lambda application and send our first test workflow.
<Steps> <Step> ## Set up your local environmentStart the Local Studio by running:
npx novu dev
The Local Studio will be available at http://localhost:2022. This is where you can preview and test your workflows.
</Step>
Install the Novu Framework package:
npm install @novu/framework
This package provides all the necessary tools to build and manage your notification workflows.
</Step>
module.exports.novu = serve({
workflows: [testWorkflow],
});
```
</Step>
<Step>
## Configure your secret key
Add your Novu secret key to your environment variables:
NOVU_SECRET_KEY=your_secret_key
</Step>
<Step>
## Create your workflow definition
Add a `novu` folder in your app folder as such `novu/workflows.ts` that will contain your workflow definitions.
import { workflow } from '@novu/framework';
export const testWorkflow = workflow('test-workflow', async ({ step }) => {
await step.email('test-email', async () => {
return {
subject: 'Test Email',
body: 'This is a test email from Novu Framework!',
};
});
});
</Step>
<Step>
## Start your application
Start your AWS Lambda server with the Novu Endpoint configured.
If your Local Lambda application is running on other than `4000` port, restart the `npx novu dev` command with the port:
```tsx
npx novu@latest dev --port <YOUR_AWS LAMBDA_APPLICATION_PORT>
```
</Step>
<Step>
## Test your endpoint
Test your workflow by triggering it from the Local Studio or using the Novu API:
curl -X POST https://api.novu.co/v1/events/trigger \
-H 'Authorization: ApiKey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-workflow",
"to": "subscriber-id",
"payload": {}
}'
You should see the notification being processed in your Local Studio.
</Step>
<Step>
## Deploy your application
Deploy your application to your preferred hosting provider. Make sure the /api/novu endpoint is accessible from the internet.
For local development and testing, you can use tools like ngrok to expose your local server to the internet.
</Step>
Now that you have your first workflow running, you can: