> ## Documentation Index
> Fetch the complete documentation index at: https://stackonfire.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Newsletter

> How Cascade handles newsletter

## Newsletter tool of choice

Cascade uses [Loops](https://www.loops.so) as its newsletter tool of choice. Loops is a powerful email marketing platform that allows you to send emails to your users, track their engagement, and set up funnels to automate your email marketing.

## Setup with Cascade

Cascade comes with an easy contact addition to Loops, just make sure you set up [Email Service](/essentials/emails). The actual subscription process is handled by Loops:

```ts theme={null}

subscribeToNewsletter: publicProcedure
    .input(z.object({ email: z.string().email() }))
    .mutation(async ({ input }) => {
      if (loops) {
        await loops.createContact(input.email, {
          source: "CASCADE_NEWSLETTER",
        });
      }
      await slackNewNewsletterSubscriberNotification.invoke({
        email: input.email,
      });
    }),

```
