Email Configuration
ActivityPulse can send emails for user invites, password resets, scheduled LLM summary reports, red-flag notifications, and shared activity summaries. Two email transport methods are supported: SMTP and Microsoft Graph API.
Choosing a Transport
Navigate to Settings > Email in the sidebar. At the top of the form, select an email transport:
| Transport | Best for | Requirements |
|---|---|---|
| SMTP | Any email provider with SMTP access | SMTP server credentials |
| Microsoft Graph API | Microsoft 365 organizations | MS365 data source configured with Mail.Send permission |
When to use Microsoft Graph API
If your organization uses Microsoft 365 and has already configured the MS365 data source in ActivityPulse, the Graph API transport is recommended because:
- It reuses the existing Azure AD app registration (no additional credentials to manage)
- It bypasses SMTP AUTH, which many organizations disable (avoids error 5.7.139)
- Emails are sent from the user who triggered them (no shared “From” address needed)
SMTP Transport
Configuration
- Select SMTP as the email transport
- Fill in the SMTP server details:
- Host: Your SMTP server hostname
- Port: SMTP port (default: 587)
- Username: SMTP authentication username
- Password: SMTP authentication password
- From Email: The email address that will appear as the sender
- From Name: The display name for the sender (defaults to “ActivityPulse”)
- Encryption: Select STARTTLS, SSL, or None
- Toggle Enable Email to activate email sending
- Click Save configuration
Microsoft 365 SMTP Setup
To use Microsoft 365 (Office 365) as your SMTP provider:
| Setting | Value |
|---|---|
| Host | smtp.office365.com |
| Port | 587 |
| Username | Your full email address (e.g., user@yourcompany.com) |
| Password | Your account password or app password |
| From Email | Same as your username |
| Encryption | STARTTLS |
Note: If your organization uses multi-factor authentication (MFA), you must create an app password instead of using your regular account password. See the instructions below.
Creating a Microsoft App Password
For work or school Microsoft 365 accounts with MFA enabled:
- Sign in to My Account
- Open Security info
- Select Add sign-in method
- Choose App password
- Enter a name for it (e.g., “ActivityPulse SMTP”), then select Next
- Copy the generated password
- Paste it into the Password field in the ActivityPulse email settings
Microsoft Graph API Transport
Prerequisites
- An MS365 data source must be configured in Settings > Data Sources
- The Azure AD app registration must have the
Mail.Sendapplication permission granted
Configuration
- Select Microsoft Graph API as the email transport
- Toggle Enable Email to activate email sending
- Click Save configuration
No additional fields are required. The Graph API transport automatically sends emails from the user who triggered them. For example, if Alice schedules an email summary report, the email is sent from Alice’s Microsoft 365 mailbox. If Bob sends a test email, it comes from Bob’s mailbox. Each user’s email address must be a valid mailbox in your Microsoft 365 tenant.
Granting the Mail.Send Permission
- Go to the Azure Portal
- Navigate to Azure Active Directory > App registrations
- Select the app registration used for the MS365 data source
- Go to API permissions > Add a permission
- Select Microsoft Graph > Application permissions
- Search for and select Mail.Send
- Click Add permissions
- Click Grant admin consent (requires Azure AD admin)
Testing the Configuration
After saving your email settings:
- Scroll down to the Test Email section
- Enter a recipient email address
- Click Send Test Email
- Check the recipient’s inbox for a test message from ActivityPulse
If the test fails, the error message will indicate what went wrong (e.g., authentication failure, connection timeout, missing permissions).
Troubleshooting
SMTP: Connection refused or timed out
- Verify the host and port are correct
- Check that your network/firewall allows outbound connections on the SMTP port
- Ensure the encryption setting matches what the server expects (port 587 typically uses STARTTLS, port 465 uses SSL)
SMTP: Authentication failed
- Double-check the username and password
- If MFA is enabled, use an app password instead of your regular password (see Creating a Microsoft App Password)
SMTP: Microsoft 365 Error 5.7.139 “Authentication unsuccessful”
This error means SMTP AUTH is disabled for the mailbox. Microsoft 365 disables it by default. You have two options:
- Switch to the Microsoft Graph API transport (recommended) - this bypasses SMTP entirely
- Enable SMTP AUTH for the mailbox:
- Go to the Exchange Admin Center
- Navigate to Recipients > Mailboxes
- Select the mailbox used for SMTP sending
- Go to Email apps (or Manage email apps settings)
- Enable Authenticated SMTP
- Click Save
- Wait a few minutes for the change to propagate, then retry the test email
Graph API: 403 Forbidden
- Ensure the
Mail.Sendapplication permission has been granted and admin consent has been given - Verify that the user triggering the email has a valid mailbox in your Microsoft 365 tenant
Graph API: 401 Unauthorized
- Check that the Azure AD app credentials (tenant ID, client ID, client secret) in the MS365 data source configuration are correct and not expired
Email sent but not received
- Check the recipient’s spam/junk folder
- For SMTP, verify the “From Email” address is valid and authorized to send from the configured server
- For SMTP, some providers require the “From Email” to match the authenticated username
- For Graph API, verify the sending user has a valid mailbox in your Microsoft 365 tenant
Sharing summaries by email
Once email is configured, you can share any generated summary with a recipient directly from the summary detail page.
- Open a summary from Summaries in the sidebar.
- Click Share in the action bar (next to the Download button).
- In the dialog:
- Optionally pick a teammate from the dropdown — their email is filled in automatically. Teammates without an email on file are disabled in the list.
- Otherwise type any email address into the Recipient email field.
- Add an optional Note to include a short message in the email body (up to 2000 characters).
- Tick one or more Attach as formats: PDF (default), HTML, Markdown. Each selected format is sent as a separate file attachment.
- Click Send. A toast confirms once the email has been queued.
Notes and limits
- The email body itself is a short auto-generated note. The summary itself is delivered as the chosen attachments — open the HTML attachment in any browser or email client to view the rendered summary.
- The acting user’s display name appears in the email body as the sender. Under SMTP, the From header always uses the org-wide “From Email” you configured above; under Graph API, the email is sent from the user’s own mailbox.
- The combined size of all attachments must stay under 20 MB. Microsoft Graph additionally rejects messages above 4 MB inline — if you hit this limit on the Graph transport, share fewer formats or use the Download button to share the file via another channel.
- The recipient is not restricted to teammates or your organization. Any valid email address is accepted.