Skip to content

feat(integrations): add Azure Communication Email integration example#3102

Open
rahulbhadja wants to merge 3 commits intoresend:canaryfrom
rahulbhadja:feat/azure-email-communication-example
Open

feat(integrations): add Azure Communication Email integration example#3102
rahulbhadja wants to merge 3 commits intoresend:canaryfrom
rahulbhadja:feat/azure-email-communication-example

Conversation

@rahulbhadja
Copy link

@rahulbhadja rahulbhadja commented Mar 22, 2026

Summary

Adds new Azure Communication Email integration example to React Email.

Changes

  • adds an Azure Communication Email example
  • adds documentation for the integration
  • adds the integration to the docs navigation and overview
  • adds the integration to the root README integrations list

Notes

  • uses @azure/communication-email
  • uses AZURE_EMAIL_CONNECTION_STRING

Summary by cubic

Adds an Azure Communication Email integration example and docs. Lets users render with @react-email/components and send via @azure/communication-email using AZURE_EMAIL_CONNECTION_STRING.

  • New Features
    • Example at examples/azure-communication-email showing render + EmailClient.beginSend (polished with single quotes and cleaned tsconfig).
    • New docs page “Azure Communication Email”; linked in the sidebar and integrations overview.
    • README integrations list updated with Azure Communication Email.

Written for commit 7ac0008. Summary will update on new commits.

- Added documentation for Azure Communication Email integration.
- Created example for sending emails using Azure Communication Email.
- Updated integrations list and snippets to include Azure Communication
  Email.
@changeset-bot
Copy link

changeset-bot bot commented Mar 22, 2026

⚠️ No Changeset found

Latest commit: 7ac0008

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Contributor

vercel bot commented Mar 22, 2026

@rahulbhadja is attempting to deploy a commit to the resend Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 8 files

Confidence score: 3/5

  • There is a concrete regression risk around the new beginSend flow: both apps/docs/integrations/azure-communication-email.mdx and examples/azure-communication-email/src/index.tsx omit an explicit production credential permission check, which could lead to failed sends or misconfigured deployments.
  • I’m scoring this as moderate merge risk because the top findings are medium-high severity (7/10) with high confidence (9/10), and they affect guidance and sample implementation that users are likely to copy.
  • examples/azure-communication-email/tsconfig.json is a smaller but real correctness issue: missing Node ambient types while using process.env can cause type errors and confusion in local builds.
  • Pay close attention to apps/docs/integrations/azure-communication-email.mdx, examples/azure-communication-email/src/index.tsx, and examples/azure-communication-email/tsconfig.json - permission-check guidance for beginSend and Node typing should be fixed before broad adoption.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/docs/integrations/azure-communication-email.mdx">

<violation number="1" location="apps/docs/integrations/azure-communication-email.mdx:77">
P1: Custom agent: **API Key Permission Check SDK Methods**

This new Azure SDK send flow (`beginSend`) is documented without a required permission check for production credentials. Add an explicit note to verify the `AZURE_EMAIL_CONNECTION_STRING` has email-send permissions before deployment (API Key Permission Check SDK Methods rule).</violation>
</file>

<file name="examples/azure-communication-email/src/index.tsx">

<violation number="1" location="examples/azure-communication-email/src/index.tsx:21">
P1: Custom agent: **API Key Permission Check SDK Methods**

This change adds a new Azure Communication Email send operation (`beginSend`) but does not include a permission confirmation step for production credentials. Confirm the existing `AZURE_EMAIL_CONNECTION_STRING` used in production has rights to perform email send operations to avoid post-deploy authorization failures.</violation>
</file>

<file name="examples/azure-communication-email/tsconfig.json">

<violation number="1" location="examples/azure-communication-email/tsconfig.json:21">
P2: Missing Node.js types in tsconfig.json while using `process.env` Node global. The `types` array only includes `vitest/globals`, excluding Node.js ambient types needed for `process.env` usage in `index.tsx`. Add `@types/node` to the types array to ensure proper type-checking.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

await poller.pollUntilDone();
```

<Info>Azure Communication Email expects the sender in the `senderAddress` field.</Info>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Custom agent: API Key Permission Check SDK Methods

This new Azure SDK send flow (beginSend) is documented without a required permission check for production credentials. Add an explicit note to verify the AZURE_EMAIL_CONNECTION_STRING has email-send permissions before deployment (API Key Permission Check SDK Methods rule).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/docs/integrations/azure-communication-email.mdx, line 77:

<comment>This new Azure SDK send flow (`beginSend`) is documented without a required permission check for production credentials. Add an explicit note to verify the `AZURE_EMAIL_CONNECTION_STRING` has email-send permissions before deployment (API Key Permission Check SDK Methods rule).</comment>

<file context>
@@ -0,0 +1,88 @@
+await poller.pollUntilDone();
+```
+
+<Info>Azure Communication Email expects the sender in the `senderAddress` field.</Info>
+
+## Try it yourself
</file context>

},
};

const poller = await client.beginSend(message);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Custom agent: API Key Permission Check SDK Methods

This change adds a new Azure Communication Email send operation (beginSend) but does not include a permission confirmation step for production credentials. Confirm the existing AZURE_EMAIL_CONNECTION_STRING used in production has rights to perform email send operations to avoid post-deploy authorization failures.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At examples/azure-communication-email/src/index.tsx, line 21:

<comment>This change adds a new Azure Communication Email send operation (`beginSend`) but does not include a permission confirmation step for production credentials. Confirm the existing `AZURE_EMAIL_CONNECTION_STRING` used in production has rights to perform email send operations to avoid post-deploy authorization failures.</comment>

<file context>
@@ -0,0 +1,23 @@
+  },
+};
+
+const poller = await client.beginSend(message);
+
+await poller.pollUntilDone();
</file context>

"lib": ["ESNext", "DOM", "DOM.Iterable"],
"module": "ESNext",
"target": "ESNext",
"types": ["vitest/globals"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Missing Node.js types in tsconfig.json while using process.env Node global. The types array only includes vitest/globals, excluding Node.js ambient types needed for process.env usage in index.tsx. Add @types/node to the types array to ensure proper type-checking.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At examples/azure-communication-email/tsconfig.json, line 21:

<comment>Missing Node.js types in tsconfig.json while using `process.env` Node global. The `types` array only includes `vitest/globals`, excluding Node.js ambient types needed for `process.env` usage in `index.tsx`. Add `@types/node` to the types array to ensure proper type-checking.</comment>

<file context>
@@ -0,0 +1,25 @@
+    "lib": ["ESNext", "DOM", "DOM.Iterable"],
+    "module": "ESNext",
+    "target": "ESNext",
+    "types": ["vitest/globals"],
+  },
+  "include": ["."],
</file context>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant