Three setup tasks. Most of the workshop is automated after Day 2.
This page gives you everything you need before the x.1 team arrives.
Extract → Structure → Analyse. Each layer builds on the previous. IT’s role is primarily in Layer 1 setup.
These are the only tasks that require FAA IT involvement. Everything else is handled by the x.1 engineering team.
Register an Azure Active Directory application with Mail.Read permission to allow the pipeline to read the relevant mailboxes via MS Graph API.
Provision a Standard D4s v3 virtual machine running Ubuntu 22.04 LTS in the FAA Azure tenant. The x.1 team will handle all software installation remotely via SSH.
Create an Anthropic account on console.anthropic.com under an FAA-owned email. Add USD 50–150 in credits. Generate an API key and share it with the x.1 team securely.
Arrange for an authorised FAA signatory (CEO, DPO, or Legal) to review and sign the Data Outsourcing Agreement (DOA) prepared by x.1 Foundation. This is a legal requirement under the Philippines Data Privacy Act (RA 10173) before any personal data can be processed by the x.1 team.
This gives the pipeline OAuth 2.0 access to read the relevant mailboxes. Admin consent is required.
FAA-DataMining-Workshop. Account types: Accounts in this organizational directory only. No redirect URI needed. Click Register.Mail.Read and select it. Also add User.Read.All if you want to include user profile data. Click Add permissions.Mail.Read application permission grants read-only access to all mailboxes in your tenant. You can restrict this to specific mailboxes by adding a Mail.Read application access policy in Exchange Online PowerShell. The x.1 team will advise if you want to scope it to only sales@, info@, admissions@.
Same cost as OpenAI API (~$5/mo) — but all AI processing stays within FAA’s Azure subscription. Recommended for compliance-conscious organisations. Note: requires advance planning due to the 24–72 hour Azure OpenAI deployment approval process.
The pipeline runs on an Azure VM within FAA’s own Azure subscription. Extracted emails and structured data are stored on that VM only — they do not leave the FAA Azure environment. At the end of the workshop, the VM can be decommissioned and all data deleted.
When email content is sent to the Claude API for classification, it is anonymised first: names and email addresses are replaced with placeholders before the prompt is submitted. Anthropic receives text fragments only. No personally identifiable information is included in API calls after the anonymisation step.
The HubSpot import is controlled and selective. Only the structured prospect records that FAA approves for the demo are pushed to HubSpot via its API. This uses FAA’s own HubSpot account (free tier) — not an x.1 account.
The x.1 engineering team is granted SSH access to the Azure VM and read-only OAuth access to the mailboxes. They cannot write to mailboxes, cannot access FAA financial systems, and cannot access anything outside the scope defined in the Azure AD app registration.
The Philippines Data Privacy Act (RA 10173) requires a formal Data Outsourcing Agreement between FAA (as Personal Information Controller) and x.1 Foundation (as Personal Information Processor) before any personal data is processed. x.1 Foundation will prepare the DOA draft. An authorised FAA signatory must sign it before Day 1. Digital signature is accepted under Philippine e-commerce law.
The pipeline requires outbound HTTPS access from the Azure VM to three external endpoints. No inbound rules beyond SSH are required.
| Endpoint | Purpose | Protocol / Port | Direction |
|---|---|---|---|
graph.microsoft.com |
MS Graph API — read mailboxes | HTTPS / 443 | Outbound |
api.anthropic.com |
Claude API — AI classification & reports | HTTPS / 443 | Outbound |
api.hubapi.com |
HubSpot API — CRM import (Day 9 only) | HTTPS / 443 | Outbound |
*.cognitiveservices.azure.com |
Azure OpenAI API — AI processing (Scenario C only) | HTTPS / 443 | Outbound |
| x.1 team IP (TBD) | SSH access for remote setup and monitoring | SSH / 22 | Inbound |
0.0.0.0/0 (default) or to the specific IPs/domains above. The x.1 team can provide their static IP for the SSH inbound rule before Day 1.
After Day 2, the pipeline runs automatically. IT’s active involvement is front-loaded.
Questions about the setup? The x.1 technical team is available before Day 1 to walk through anything.