diff --git a/content/docs/platform/developer/meta.json b/content/docs/platform/developer/meta.json new file mode 100644 index 000000000..ae5bff8da --- /dev/null +++ b/content/docs/platform/developer/meta.json @@ -0,0 +1,3 @@ +{ + "pages": ["webhooks"] +} diff --git a/content/docs/platform/concepts/webhooks.mdx b/content/docs/platform/developer/webhooks.mdx similarity index 99% rename from content/docs/platform/concepts/webhooks.mdx rename to content/docs/platform/developer/webhooks.mdx index ef7ee99d5..f94fb69d8 100644 --- a/content/docs/platform/concepts/webhooks.mdx +++ b/content/docs/platform/developer/webhooks.mdx @@ -1,6 +1,6 @@ --- -title: 'Outbound Webhooks' -pageTitle: 'Outbound Webhooks' +title: 'Webhooks' +pageTitle: 'Webhooks' description: 'Receive notifications when events occur in your Novu account' icon: 'Webhook' --- diff --git a/content/docs/platform/integrations/email/activity-tracking/index.mdx b/content/docs/platform/integrations/email/activity-tracking/index.mdx new file mode 100644 index 000000000..cc10c6055 --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/index.mdx @@ -0,0 +1,141 @@ +--- +pageTitle: 'Activity Tracking' +title: 'Activity Tracking' +description: 'Learn how to enable activity tracking to get real-time delivery and engagement events like delivered, opened, and clicked from your email providers.' +--- + +Activity tracking gives you visibility into what happens to notifications after they are sent to the subscriber. With it, Novu receive and process real-time events from third-party providers, so that you know when the notification is delivered, opened, clicked, or bounced. + +## How activity tracking works + +When your provider emits an event (for example, an email delivered or bounced), Novu: +- Receives the event via inbound webhooks. +- Create step-run trace, so the event is visible in the activity feed. +- Forwards supported events to outbound webhooks if they are enabled in your project. +- Enriches the workflow-run lifecycle with engagement and delivery data, which empowers analytics and workflow variables. + +With activity tracking enabled, you get a full picture of the workflow-run lifecycle, not just that a message was “sent,” but whether it reached the recipient, was opened, or engaged with. This closes the feedback loop and allows you to build more reliable notification experiences. + +## How to enable activity tracking + +First [create the integration](/platform/integrations/email/adding-email). After that, you can enable activity tracking by following these steps: +1. Log in to the Novu dashboard +2. Navigate to the **Integrations Store** page from the sidebar of your Novu dashboard. +3. Click **Connect Provider** and select the email provider you want to configure. +4. Scroll down to find the **Email Activity Tracking** section and click the toggle to enable it. + ![Enable the inbound webhook](/images/developer-tools/enable-inbound.png) + When enabled, Novu will auto-configure delivery webhooks using your existing API key. + ![Inbound webhook enabled](/images/developer-tools/inbound-enabled.png) + +## Manual configuration + +If auto-configuration fails or isn’t supported for your provider, you will need to set it up manually. You can do that by following these provider specific guides: + + + + Amazon SES + + + Mailgun + + + SendGrid manual configuration + + + Resend + + + +## Event semantics in Novu + +Inbound webhook events are normalized into a consistent set of Novu event statuses. These statuses let you track the full lifecycle of a notification across providers in a unified way. + +| Novu status | Meaning | +| -------------- | ------------------------------------------------------------------------------------- | +| `bounced` | The message was rejected by the recipient’s server (hard or soft bounce). | +| `clicked` | The recipient clicked a link inside the message. | +| `complaint` | The recipient marked the message as spam or filed a complaint. | +| `delayed` | The provider delayed the message delivery (for example, due to throttling). | +| `delivered` | The provider confirmed that the message was delivered to the recipient’s server. | +| `dropped` | The provider dropped the message before attempting delivery. | +| `opened` | The recipient opened the message (tracked via the provider’s open logic). | +| `rejected` | The provider could not send the message (for example, invalid address, failed policy check). | +| `sent` | The provider has accepted the message for delivery. | +| `unsubscribed` | The recipient unsubscribed from further messages. | + +## Supported providers and events + +Novu currently supports inbound webhooks for several email providers. Each provider sends events in its own format, which Novu normalizes into a consistent set of internal statuses. These normalized statuses are used in the activity feed, step-run traces, and outbound webhook forwarding. + +Events not listed in the tables below are ignored. + +### SendGrid + +| Provider event (``) | Novu event (``) | +| ---------------------------------- | ---------------------------------- | +| `bounce` | `bounced` | +| `click` | `clicked` | +| `delivered` | `delivered` | +| `dropped` | `dropped` | +| `open` | `opened` | + +### Mailgun + +| Provider event (``) | Novu event (``) | +| ---------------------------------- | ---------------------------------- | +| `clicked` | `clicked` | +| `complained` | `complaint` | +| `delivered` | `delivered` | +| `opened` | `opened` | +| `permanent_fail`, `failed` | `rejected` | +| `unsubscribed` | `unsubscribed` | + +### Resend + +| Provider event (``) | Novu event (``) | +| ---------------------------------- | ---------------------------------- | +| `email.bounced` | `bounced` | +| `email.clicked` | `clicked` | +| `email.complained` | `complaint` | +| `email.delivered` | `delivered` | +| `email.delivery_delayed` | `delayed` | +| `email.failed` | `rejected` | +| `email.opened` | `opened` | +| `email.sent` | `sent` | + +### Amazon SES + +| Provider event (``) | Novu event (``) | +| ---------------------------------- | ---------------------------------- | +| `Bounce` | `bounced` | +| `Complaint` | `complaint` | +| `Click` | `clicked` | +| `Delivery` | `delivered` | +| `DeliveryDelay` | `delayed` | +| `Open` | `opened` | +| `Reject` | `rejected` | +| `Send` | `sent` | + +## Viewing event data + +Once your inbound webhooks are configured, Novu will start processing events from your provider. You can see this new data in two key places within the platform. + +### Activity feed + +The Activity Feed provides the most direct view of the notification lifecycle. After a notification is sent, you will see new status updates such as Delivered, Opened, and Clicked appear in the timeline as they are received from your provider. This gives you a complete, real-time picture of subscriber engagement for each notification. + +### Outbound webhooks integration + +Inbound webhooks don’t just update Novu internally, they can also trigger outbound webhooks, allowing you to send normalized events to your own systems in real time. This makes it possible to extend Novu’s notification lifecycle into your existing infrastructure. + +How it works: + +1. A provider emits an event (for example, delivered). +2. Novu receives and normalizes the event (for example, → delivered). +3. Novu updates its internal message entity and step-run trace. +4. If outbound webhooks are enabled, Novu forwards the normalized event to your configured outbound webhook endpoint. + +This is useful in a number of use cases including: +- Internal logging: Forward all events into your organization’s centralized logging pipeline. +- Custom analytics: Combine Novu’s lifecycle data with your own metrics to measure engagement and delivery performance. +- Workflow triggers: Kick off custom business logic when specific events occur (for example, flagging accounts with high bounce rates). \ No newline at end of file diff --git a/content/docs/platform/integrations/email/activity-tracking/manual-configuration/mailgun.mdx b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/mailgun.mdx new file mode 100644 index 000000000..007379a34 --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/mailgun.mdx @@ -0,0 +1,48 @@ +--- +pageTitle: 'Mailgun manual configuration' +title: 'Mailgun' +description: 'A step-by-step guide to manually add specific event webhooks in Mailgun for Novu activity tracking.' +--- + +By default, Mailgun API keys have the required permissions for Novu to auto-configure webhooks when email activity tracking is enabled in the Novu dashboard. In most cases, you won’t need to do any manual setup. However, you might want to track specific Mailgun events the Novu supports. + +This guide explains how to manually add new webhooks for specific events directly from your Mailgun dashboard. + +## Step 1: Get your webhook URL from Novu + +First, you need the unique webhook URL from your Novu dashboard that will receive events from Mailgun. + +1. Log in to the Novu dashboard. +2. Navigate to the **Integration Store** page in Novu and then select your **Mailgun** integration. +3. Enable the **Email Activity Tracking** toggle. + This generates an Inbound Webhook URL unique to your integration. + +4. Copy the URL, you’ll use it in the Mailgun dashboard if you want to add specific events manually. + ![Mailgun Inbound Webhook URL](/images/channels-and-providers/email/activity-tracking/mailgun.png) + +## Step 2: Add an event webhook in Mailgun + +Next, log in to your Mailgun account to create a new webhook for the specific event you want to track. + +1. Log in to your Mailgun account. +2. Navigate to **Send** section in the left sidebar, and then select **Webhooks**. +2. Click **Add webhook**. + ![Add Mailgun webhook](/images/channels-and-providers/email/activity-tracking/add-mailgun-webhook.png) +3. A menu will appear. Configure the webhook with the following settings: + - **Event type:** Select the event you want to track from the dropdown menu. + - **URL:** Paste the **Inbound Webhook URL** you copied from Novu. +4. Click **Create Webhook**. + ![Create Mailgun Webhook](/images/channels-and-providers/email/activity-tracking/create-mailgun-webhook.png) + +## Step 3: Add additional events (Optional) + +Your new webhook for the selected event is now active. To track other events, you must repeat the process in **Step 2** for each one. We recommend adding webhooks for all events that Novu supports: + +- Delivered messages +- Opens +- Clicks +- Unsubscribes +- Spam complaints +- Permanent failures + +Once configured, Mailgun will begin sending real-time data for these events to Novu, which you can monitor in your **Activity Feed**. diff --git a/content/docs/platform/integrations/email/activity-tracking/manual-configuration/meta.json b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/meta.json new file mode 100644 index 000000000..0d3530842 --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/meta.json @@ -0,0 +1,3 @@ +{ + "pages": ["ses", "mailgun", "resend", "sendgrid"] +} diff --git a/content/docs/platform/integrations/email/activity-tracking/manual-configuration/resend.mdx b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/resend.mdx new file mode 100644 index 000000000..360bf5374 --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/resend.mdx @@ -0,0 +1,42 @@ +--- +pageTitle: 'Resend manual configuration' +title: 'Resend' +description: 'A step-by-step guide to manually configure Resend event webhooks for Novu activity tracking.' +--- + +Resend does not currently support auto-configuration of webhooks through their API. To track events in Novu, you’ll need to set up the webhook manually in your Resend dashboard. + +## Step 1: Get your webhook URL from Novu + +First, you need the unique webhook URL from your Novu dashboard that will receive events from Resend. + +1. Navigate to the **Integration Store** page in Novu and select your **Resend** integration. +2. Enable the **Email Activity Tracking** toggle. +3. A unique Inbound Webhook URL will be displayed. Click the **copy** icon to copy it. + ![Copy Webhook URL from Novu](/images/channels-and-providers/email/activity-tracking/inbound-webhook-resend.png) + +## Step 2: Create the webhook in Resend + +Next, log in to your Resend dashboard to create the webhook. + +1. From the sidebar menu of your Resend dashboard, click on **Webhooks**. +2. On the webhooks page, click **Add webhook**. + ![Add webhook](/images/channels-and-providers/email/activity-tracking/resend-webhook.png) +3. In the menu that appears, configure the following: + - **Endpoint URL:** Paste the **Inbound Webhook URL** you copied from Novu. + - **Events to send:** Select **Email** to subscribe to all email events. + ![Add webhook](/images/channels-and-providers/email/activity-tracking/add-webhook-resend.png) +4. Click **Add** to create the webhook. + +Your Resend account will now forward email events to Novu, where they will appear in the Activity Feed and the execution details in the event logs. + +## Step 3: Add the signing secret (Recommended) + +For a more secure and authenticated connection, you should add the webhook's signing secret back into Novu. This step is optional but highly recommended. + +1. After creating the webhook in Resend, you will get **Signing Secret**. Copy this secret. + ![Signing secret](/images/channels-and-providers/email/activity-tracking/signing-secret-resend.png) +2. Return to your Resend integration settings in Novu. +3. Under the **Email Activity Tracking** section, paste the secret into the **Inbound Webhook Signing Key** field. + ![Inbound Signing Key](/images/channels-and-providers/email/activity-tracking/inbound-signing-key-resend.png) +4. Click **Save Changes**. \ No newline at end of file diff --git a/content/docs/platform/integrations/email/activity-tracking/manual-configuration/sendgrid.mdx b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/sendgrid.mdx new file mode 100644 index 000000000..6de72114d --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/sendgrid.mdx @@ -0,0 +1,77 @@ +--- +pageTitle: 'SendGrid Manual Configuration' +title: 'SendGrid' +description: 'A step-by-step guide to manually configure SendGrid event webhooks for Novu activity tracking.' +--- + +If the API key used in your Novu SendGrid integration does not have the required permissions, the automatic setup will fail with an `access forbidden` error. This indicates that Novu lacks the permissions needed to configure the webhook on your behalf. + +This guide will walk you through resolving this issue. + +## Step 1: Update SendGrid API key permissions + +First, you need to update your API key in your SendGrid account to grant the necessary permissions. + +1. Log in to your SendGrid account. +2. Under **Settings**, click **API Keys**. +3. Choose whether to edit an existing key or create a new one: + - To create a new API key, click **Create API Key**. + - To update an existing key, click the settings icon next to it and select **Edit API Key**. + ![Edit existing key or creating a new one](/images/channels-and-providers/email/activity-tracking/sendgrid-api.png) +4. Set the key permissions to either: + - **Full Access**, or + - Custom Access with at least the following enabled: + - **Mail Send** + - **Mail Settings** + ![Custom access](/images/channels-and-providers/email/activity-tracking/custom-access.png) +5. If you created a new key, return to the Novu dashboard and update your SendGrid integration settings with the new API key. + +## Step 2: Enable activity tracking in Novu +Once your API key has the correct permissions, return to your Novu dashboard to complete the setup. + +1. Navigate to the **Integrations** page and select your **SendGrid** integration. +2. Click the **Email Activity Tracking** toggle to enable it. + +With the updated permissions, Novu should now successfully auto-configure the webhook for you. You should see a green checkmark indicating that the webhook is active. If you see this, your setup is complete. + +![Enable activity tracking in Novu](/images/channels-and-providers/email/activity-tracking/enable-activity-tracking.gif) + +## Step 3: Manual configuration (only if auto-configuration fails) + +If the automatic configuration fails for any reason, or if you prefer to set it up manually, follow these steps. + +### Part 1: Configure the webhook in SendGrid + +1. In your Novu SendGrid integration settings, enable the **Email Activity Tracking** toggle to reveal the **Inbound Webhook URL** +2. Copy the this Inbound Webhook URL. +3. Log in to the SendGrid dashboard. +4. Go to the Settings page, and click **Mail Settings**. +5. Click on **Event Webhook**. +6. Click **Create new webhook** + ![Create new SendGrid webhook](/images/channels-and-providers/email/activity-tracking/sendgrid-webhook.png) +7. Give the webhook a friendly name. +8. Paste the Inbound Webhook URL copied from Novu into the **Post URL** field. +9. Under **Actions to be posted**, select the events Novu supports that you want to track + ![Add new event webhook](/images/channels-and-providers/email/activity-tracking/add-new-event-webhook.png) +10. Under Singnature Verification, enable **Enable Signed Event Webhook** +11. Click **Save** + + +### Part 2: Add the signing key to Novu (Recommended) + +For enhanced security, you should add a signing key to verify that webhooks are coming from SendGrid. + +1. Log in to the SendGrid dashboard. +2. Go to the Settings page, and click **Mail Settings**. +3. Click the settings icon next to the webhhok a menu will appear. +4. Click **Edit**. + ![Add new event webhook](/images/channels-and-providers/email/activity-tracking/edit-sendgrid-webhook.png) +5. Enable **Signed Webhook Verification** if is hasn't been enabled. A **Verification Key** will be displayed. +6. Copy the verification key. + ![Add new event webhook](/images/channels-and-providers/email/activity-tracking/sendgrid-verification-key.png) +3. Return to your Novu SendGrid integration settings. +4. Paste the key you just copied from SendGrid into the **Inbound Webhook Signing Key** field. + ![Add new event webhook](/images/channels-and-providers/email/activity-tracking/inbound-signing-key-sendgrid.png) +5. Click **Save**. + +Your SendGrid integration is now manually configured to send activity data to Novu. \ No newline at end of file diff --git a/content/docs/platform/integrations/email/activity-tracking/manual-configuration/ses.mdx b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/ses.mdx new file mode 100644 index 000000000..b8ffbc25f --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/manual-configuration/ses.mdx @@ -0,0 +1,119 @@ +--- +pageTitle: 'Amazon SES manual configuration' +title: 'Amazon SES' +description: 'A step-by-step guide to manually configure Amazon SES with Novu for email activity tracking.' +--- + +Amazon SES requires a manual configuration flow to enable Email Activity Tracking in Novu. This process involves creating an IAM user, setting up an SNS topic, subscribing Novu’s webhook, and linking SES configuration sets with the SNS topic. + +Setting up Amazon SES for activity tracking is a multi-step process because it requires configuring several AWS services (IAM, SNS, and SES) to work together. This guide provides a complete, step-by-step walkthrough. + +## Step 1: Create an IAM User + +First, you need to create a dedicated IAM user in AWS that Novu will use to interact with SES. + +1. Log in to your AWS Console and navigate to the **IAM** service. +2. In the sidebar under **Access Management**, click **Users**. + ![Create user](/images/channels-and-providers/email/activity-tracking/ses/create-user.png) +3. Click **Create user**, enter a name for the user, then click **Next**. + ![Add user details](/images/channels-and-providers/email/activity-tracking/ses/user-details.png) +4. On the permissions page, select **Attach policies directly**. +5. In the search box, find and select the **`AmazonSESFullAccess`** policy. Click **Next**. + ![Permissions](/images/channels-and-providers/email/activity-tracking/ses/permissions.png) +6. Click **Next**, review the details, then click **Create user**. You will be redirected to the user list, where the new user will appear. + ![Create user](/images/channels-and-providers/email/activity-tracking/ses/create-user.gif) + +## Step 2: Generate access keys + +1. Click on the user you just created. +2. On the user’s page, click **Create access key**. + ![Create access key](/images/channels-and-providers/email/activity-tracking/ses/create-access-key.png) +3. Under **Access key best practices & alternatives**, select **Application running on an AWS compute service** or the right use case for you. +4. Check the confirmation box and click **Next**. +5. Add a description tag, then click **Create access key**. +6. (Optional) On the **Retrieve access keys** page, you will see the **Access key** and **Secret access key** click **Download .csv file**. This file contains these access keys, you'll need in the next step. +7. Click **Done**. + ![Access keys](/images/channels-and-providers/email/activity-tracking/ses/access-keys.png) + +## Step 3: Set up the SES integration in Novu + +Now, use the keys you just downloaded to connect your SES account to Novu. + +1. In the Novu dashboard, go to the Integration Store. +2. Click **Connect provider** and select **SES**. +3. Under **Delivery Provider Credentials**, open the .csv file you downloaded in [Step 2](/platform/integrations/email/activity-tracking/manual-configuration/ses#step-2-generate-access-keys). +4. Copy the **Access key** into the **Access key ID** field. +5. Copy the **Secret access key** into the **Secret access key** field. + ![Access keys field](/images/channels-and-providers/email/activity-tracking/ses/ses-integration.png) +6. Fill in the remaining required fields, then click **Create integration**. + +## Step 4: Create an SNS Topic + +Next, you'll set up an SNS (Simple Notification Service) topic to receive events from SES. + +1. In the AWS console, search for SNS (Simple Notification Service), this will open the SNS dashboard. + ![search for SNS](/images/channels-and-providers/email/activity-tracking/ses/sns.png) +2. In the sidebar, click **Topics**. + ![Topics](/images/channels-and-providers/email/activity-tracking/ses/create-topic.png) +3. Click **Create topic** +4. Select the **Standard** option. + ![Create topic](/images/channels-and-providers/email/activity-tracking/ses/sns-standard.png) +5. Enter a topic name, then scroll down and click **Create topic**. + +## Step 5: Subscribe Novu’s webhook to the SNS topic + +1. On the topic's page, click **Create subscription**. + ![Create subscription](/images/channels-and-providers/email/activity-tracking/ses/subscription.png) +2. In another browser tab, return to your **SES integration settings in Novu**. Enable the **Email Activity Tracking** toggle. +3. Copy the **Inbound Webhook URL** it provides. + ![Inbound Webhook URL](/images/channels-and-providers/email/activity-tracking/ses/ses-inbound-webhook.png) +4. Go back to your AWS SNS subscription page. + - For **Protocol**, select **HTTPS**. + - For **Endpoint**, paste the **Inbound Webhook URL** you copied from Novu. + ![AWS SNS subscription page](/images/channels-and-providers/email/activity-tracking/ses/create-subscription.png) +5. Click **Create subscription** +6. In the sidebar, click **Subscriptions** to confirm that the subscription status is “Confirmed.” + ![Subscription confirmed](/images/channels-and-providers/email/activity-tracking/ses/subscription-confirmed.png) + +## Step 6: Create SES Configuration set + +Create a Configuration set in SES to tie everything together. + +1. In the AWS console, search for SES (Simple Email Service). This opens the Amazon SES dashboard. +2. In the sidebar, under Configuration section, click **Configuration sets** +3. Click **Create set**. + ![Create set](/images/channels-and-providers/email/activity-tracking/ses/create-set.png) +4. Enter a configuration set name, then click **Create set**. + ![Set name](/images/channels-and-providers/email/activity-tracking/ses/set-name.png) +5. Copy the **Configuration set name**. +6. Go back to your SES integration settings in Novu. +7. Paste the name into the **Configuration Set Name** field under the **Email Activity Tracking** section. + ![Set name Novu](/images/channels-and-providers/email/activity-tracking/ses/set-name-novu.png) +8. Click **Save changes**. + +## Step 7: Add event destination + +1. Return to the Configuration set page in your **AWS SES dashboard** and click on the set you just created. +2. Click the **Event destinations** tab and then **Add event destination**. + ![Add destination](/images/channels-and-providers/email/activity-tracking/ses/add-destination.png) +3. Select all available **Event types** and click **Next**. + ![Event types](/images/channels-and-providers/email/activity-tracking/ses/event-types.png) +4. For the destination, select **Amazon SNS topic** and then enter a destination name. +5. Under SNS topic, select the topic you created in [Step 4](/platform/integrations/email/activity-tracking/manual-configuration/ses#step-4-create-an-sns-topic). + ![SNS topic](/images/channels-and-providers/email/activity-tracking/ses/sns-topic.png) +6. Click **Next**, review the details, and then click **Add destination**. + ![SNS topic](/images/channels-and-providers/email/activity-tracking/ses/review-destination-details.png) + +Your Amazon SES integration is now fully configured for activity tracking. Events will begin appearing in your Novu **Activity Feed** as you send notifications. + +## Troubleshooting + +### Email address is not verified + +If you get "MessageRejected: Email address is not verified" error when you trigger a workflow in Novu. This error means that the sender email address you are trying to use has not been verified in SES. + +To fix this: +1. Go to the SES console. +2. In the sidebar, click **Account dashboard**. + ![Account destination](/images/channels-and-providers/email/activity-tracking/ses/account-dashboard.png) +3. Click **View Get set up page** and follow the steps in the **Get set up page** to verify your email address and sending domain. \ No newline at end of file diff --git a/content/docs/platform/integrations/email/activity-tracking/meta.json b/content/docs/platform/integrations/email/activity-tracking/meta.json new file mode 100644 index 000000000..1980cb5d6 --- /dev/null +++ b/content/docs/platform/integrations/email/activity-tracking/meta.json @@ -0,0 +1,3 @@ +{ + "pages": ["manual-configuration"] +} diff --git a/content/docs/platform/integrations/email/index.mdx b/content/docs/platform/integrations/email/index.mdx index d1c1a728d..3eefd539b 100644 --- a/content/docs/platform/integrations/email/index.mdx +++ b/content/docs/platform/integrations/email/index.mdx @@ -2,7 +2,6 @@ pageTitle: 'E-mail Providers Integration' title: 'E-mail' description: 'Learn how to configure the Email channel' -icon: 'info' --- import { Tab, Tabs } from 'fumadocs-ui/components/tabs'; diff --git a/content/docs/platform/integrations/email/meta.json b/content/docs/platform/integrations/email/meta.json index 91fdffb78..e64cf9a5e 100644 --- a/content/docs/platform/integrations/email/meta.json +++ b/content/docs/platform/integrations/email/meta.json @@ -1,4 +1,4 @@ { "icon": "Mail", - "pages": ["adding-email", "writing-email-template", "..."] + "pages": ["adding-email", "writing-email-template", "...", "activity-tracking"] } diff --git a/content/docs/platform/meta.json b/content/docs/platform/meta.json index 4a829b02e..b1524afc6 100644 --- a/content/docs/platform/meta.json +++ b/content/docs/platform/meta.json @@ -45,6 +45,8 @@ "sdks/javascript/index", "sdks/react-native", "sdks/server", + "---Developer---", + "...developer", "---Additional Resources---", "additional-resources/glossary", "additional-resources/mcp", diff --git a/public/images/channels-and-providers/email/activity-tracking/add-mailgun-webhook.png b/public/images/channels-and-providers/email/activity-tracking/add-mailgun-webhook.png new file mode 100644 index 000000000..fe0eed0f7 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/add-mailgun-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/add-new-event-webhook.png b/public/images/channels-and-providers/email/activity-tracking/add-new-event-webhook.png new file mode 100644 index 000000000..79f87cff3 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/add-new-event-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/add-webhook-resend.png b/public/images/channels-and-providers/email/activity-tracking/add-webhook-resend.png new file mode 100644 index 000000000..da6be5258 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/add-webhook-resend.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/create-mailgun-webhook.png b/public/images/channels-and-providers/email/activity-tracking/create-mailgun-webhook.png new file mode 100644 index 000000000..7551a21f2 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/create-mailgun-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/custom-access.png b/public/images/channels-and-providers/email/activity-tracking/custom-access.png new file mode 100644 index 000000000..ab0a2e116 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/custom-access.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/edit-sendgrid-webhook.png b/public/images/channels-and-providers/email/activity-tracking/edit-sendgrid-webhook.png new file mode 100644 index 000000000..5da45da11 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/edit-sendgrid-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/enable-activity-tracking.gif b/public/images/channels-and-providers/email/activity-tracking/enable-activity-tracking.gif new file mode 100644 index 000000000..495fdf74b Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/enable-activity-tracking.gif differ diff --git a/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-resend.png b/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-resend.png new file mode 100644 index 000000000..b363083ce Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-resend.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-sendgrid.png b/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-sendgrid.png new file mode 100644 index 000000000..7a42c35a7 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/inbound-signing-key-sendgrid.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/inbound-webhook-resend.png b/public/images/channels-and-providers/email/activity-tracking/inbound-webhook-resend.png new file mode 100644 index 000000000..b10b161d8 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/inbound-webhook-resend.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/mailgun.png b/public/images/channels-and-providers/email/activity-tracking/mailgun.png new file mode 100644 index 000000000..6508aabe9 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/mailgun.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/resend-webhook.png b/public/images/channels-and-providers/email/activity-tracking/resend-webhook.png new file mode 100644 index 000000000..585e8c9c5 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/resend-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/sendgrid-api.png b/public/images/channels-and-providers/email/activity-tracking/sendgrid-api.png new file mode 100644 index 000000000..9ebe75259 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/sendgrid-api.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/sendgrid-endpoint-url.png b/public/images/channels-and-providers/email/activity-tracking/sendgrid-endpoint-url.png new file mode 100644 index 000000000..200995a56 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/sendgrid-endpoint-url.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/sendgrid-verification-key.png b/public/images/channels-and-providers/email/activity-tracking/sendgrid-verification-key.png new file mode 100644 index 000000000..037c5c86c Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/sendgrid-verification-key.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/sendgrid-webhook.png b/public/images/channels-and-providers/email/activity-tracking/sendgrid-webhook.png new file mode 100644 index 000000000..3ab188ec9 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/sendgrid-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/access-keys.png b/public/images/channels-and-providers/email/activity-tracking/ses/access-keys.png new file mode 100644 index 000000000..d6db261b1 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/access-keys.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/account-dashboard.png b/public/images/channels-and-providers/email/activity-tracking/ses/account-dashboard.png new file mode 100644 index 000000000..9f303c819 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/account-dashboard.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/add-destination.png b/public/images/channels-and-providers/email/activity-tracking/ses/add-destination.png new file mode 100644 index 000000000..1082f3efd Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/add-destination.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-access-key.png b/public/images/channels-and-providers/email/activity-tracking/ses/create-access-key.png new file mode 100644 index 000000000..464e6bdb3 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-access-key.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-set.png b/public/images/channels-and-providers/email/activity-tracking/ses/create-set.png new file mode 100644 index 000000000..6ba74e301 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-set.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-subscription.png b/public/images/channels-and-providers/email/activity-tracking/ses/create-subscription.png new file mode 100644 index 000000000..3f2717012 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-subscription.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-topic.png b/public/images/channels-and-providers/email/activity-tracking/ses/create-topic.png new file mode 100644 index 000000000..dee39d0aa Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-topic.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-user.gif b/public/images/channels-and-providers/email/activity-tracking/ses/create-user.gif new file mode 100644 index 000000000..64891b5cc Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-user.gif differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/create-user.png b/public/images/channels-and-providers/email/activity-tracking/ses/create-user.png new file mode 100644 index 000000000..a570cfaf4 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/create-user.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/event-types.png b/public/images/channels-and-providers/email/activity-tracking/ses/event-types.png new file mode 100644 index 000000000..4bab75109 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/event-types.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/permissions.png b/public/images/channels-and-providers/email/activity-tracking/ses/permissions.png new file mode 100644 index 000000000..92654e5f3 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/permissions.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/review-destination-details.png b/public/images/channels-and-providers/email/activity-tracking/ses/review-destination-details.png new file mode 100644 index 000000000..b2d0d43c2 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/review-destination-details.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/ses-inbound-webhook.png b/public/images/channels-and-providers/email/activity-tracking/ses/ses-inbound-webhook.png new file mode 100644 index 000000000..ee8faaa5f Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/ses-inbound-webhook.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/ses-integration.png b/public/images/channels-and-providers/email/activity-tracking/ses/ses-integration.png new file mode 100644 index 000000000..adc9f3fec Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/ses-integration.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/set-name-novu.png b/public/images/channels-and-providers/email/activity-tracking/ses/set-name-novu.png new file mode 100644 index 000000000..655a27c2c Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/set-name-novu.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/set-name.png b/public/images/channels-and-providers/email/activity-tracking/ses/set-name.png new file mode 100644 index 000000000..b0f06b8cc Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/set-name.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/sns-standard.png b/public/images/channels-and-providers/email/activity-tracking/ses/sns-standard.png new file mode 100644 index 000000000..88d64c1e2 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/sns-standard.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/sns-topic.png b/public/images/channels-and-providers/email/activity-tracking/ses/sns-topic.png new file mode 100644 index 000000000..acb22777d Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/sns-topic.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/sns.png b/public/images/channels-and-providers/email/activity-tracking/ses/sns.png new file mode 100644 index 000000000..27fda4290 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/sns.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/subscription-confirmed.png b/public/images/channels-and-providers/email/activity-tracking/ses/subscription-confirmed.png new file mode 100644 index 000000000..ff6c8bfc4 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/subscription-confirmed.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/subscription.png b/public/images/channels-and-providers/email/activity-tracking/ses/subscription.png new file mode 100644 index 000000000..d9b86adb5 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/subscription.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/ses/user-details.png b/public/images/channels-and-providers/email/activity-tracking/ses/user-details.png new file mode 100644 index 000000000..9807d5bb4 Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/ses/user-details.png differ diff --git a/public/images/channels-and-providers/email/activity-tracking/signing-secret-resend.png b/public/images/channels-and-providers/email/activity-tracking/signing-secret-resend.png new file mode 100644 index 000000000..25e542eda Binary files /dev/null and b/public/images/channels-and-providers/email/activity-tracking/signing-secret-resend.png differ diff --git a/public/images/developer-tools/enable-inbound.png b/public/images/developer-tools/enable-inbound.png new file mode 100644 index 000000000..7cbfe606f Binary files /dev/null and b/public/images/developer-tools/enable-inbound.png differ diff --git a/public/images/developer-tools/inbound-enabled.png b/public/images/developer-tools/inbound-enabled.png new file mode 100644 index 000000000..523e20451 Binary files /dev/null and b/public/images/developer-tools/inbound-enabled.png differ