adding-azure-communication-services-emaillisted
Install: claude install-skill alexpizarro/azure-lean-stack-skills
# Adding Azure Communication Services Email
Transactional email via Azure Communication Services. **Free tier: 100 emails/day**, then $0.00025/email. Cheaper than SendGrid for low-volume projects.
## When to use ACS Email
| Need | Use |
|------|-----|
| Account verification, password reset, transactional notifications | **ACS Email** (this skill) |
| Marketing campaigns, newsletters, A/B testing | A marketing-focused provider (Mailchimp, etc.) — ACS doesn't do that |
| High-volume bulk send (>100k/day) | SendGrid Pro or Mailgun (ACS gets expensive at scale) |
## The three ACS quirks
### 1. `location: 'global'` (literal string, not a real Azure region)
```bicep
resource emailService 'Microsoft.Communication/emailServices@2023-04-01' = {
name: emailServiceName
location: 'global' // ← NOT 'australiaeast', NOT location param
properties: { dataLocation: 'Australia' }
}
```
If you pass the project's `location` param (`australiaeast`), Azure rejects the deploy.
### 2. `dataLocation` uses plain English
The values for `dataLocation` are not Azure region IDs. They're region groupings:
| `dataLocation` value | Where data is stored |
|---------------------|---------------------|
| `'Australia'` | AU data centres |
| `'Europe'` | EU |
| `'United States'` | US |
| `'Asia Pacific'` | APAC excluding AU |
| `'Africa'` | Africa |
| `'Brazil'` | Brazil |
| `'Canada'` | Canada |
| `'France'` | France |
| `'Germany'` | Germany |
| `'India'` | India |
| `'Japan'` |