Total Tickets
54
↑ 11 this week
🎫
Open / In Progress
12
3 Critical priority
🔓
Resolved This Week
27
Avg 3.8 hrs resolution
SLA Breached
2
Escalated to management
⚠️
Weekly Ticket Trend
Last 6 weeks
Weekly tickets: Week 1: 28, Week 2: 34, Week 3: 22, Week 4: 41, Week 5: 38, Week 6: 54
Tickets by Category
This month
Network 18, Software 14, Hardware 11, Security 7, Access 4
Recent Tickets
Ticket IDIssueStatusPriority
TKT-20240416-001VPN timeout after updateIn ProgressHigh
TKT-20240416-002Ransomware alert WKSTN-07In ProgressCritical
TKT-20240416-003Outlook 365 login failureOpenMedium
TKT-20240415-009Printer offline Floor 2ResolvedLow
TKT-20240415-010New user account setupClosedLow
Resolution by Priority
SLA performance
Critical (<2hr SLA)67%
High (<8hr SLA)82%
Medium (<24hr SLA)94%
Low (<72hr SLA)98%
Portal / All Tickets

IT Ticket Tracker

All tickets auto-created from emails to itops@bluecloudsoftech.com via Power Automate

📧
New tickets are automatically created when staff emails itops@bluecloudsoftech.com. Power Automate parses the email and pushes the ticket to Supabase within 30 seconds.
All Tickets
12 open · 27 resolved this week
Ticket IDIssue SummaryRaised ByCategoryPriorityStatusDateAssigned
TKT-20240416-001VPN timeout after Windows updateRavi KumarNetworkHighIn Progress16 AprSuresh IT
TKT-20240416-002Ransomware signature — WKSTN-07CrowdStrike AlertSecurityCriticalIn Progress16 AprSuresh IT
TKT-20240416-003Outlook 365 login failurePriya SharmaSoftwareMediumOpen16 AprUnassigned
TKT-20240416-004Slow internet connection 3rd floorAnil ReddyNetworkMediumOpen16 AprKiran IT
TKT-20240415-008Teams video calls droppingSales TeamSoftwareHighOpen15 AprKiran IT
TKT-20240415-009Printer offline — Floor 2Finance DeptHardwareLowResolved15 AprSuresh IT
TKT-20240415-010New user account — RameshHR DeptAccessLowClosed15 AprKiran IT
Portal / Integration Setup Guide

Full Automation Setup

Step-by-step: itops@ mailbox → Power Automate → Supabase → Netlify

Complete all 5 phases in order. Estimated setup time: 3–4 hours. All tools used are free tier or included in your M365 Business Standard license.
Phase 1 — Supabase Database Setup
supabase.com · Free tier · PostgreSQL
1
Create Supabase project
Go to supabase.com → New Project → Name: bcssl-itops → Region: Southeast Asia (Singapore) → Create. Save your Project URL and anon key from Settings → API.
2
Run this SQL in Supabase SQL Editor to create tickets table
create table tickets ( id uuid default gen_random_uuid() primary key, ticket_id text unique not null, title text not null, description text, raised_by text not null, email text not null, department text default 'Unknown', category text default 'Other', priority text default 'Medium', status text default 'Open', assigned_to text, resolution_notes text, created_at timestamptz default now(), updated_at timestamptz default now(), resolved_at timestamptz ); -- Enable Row Level Security alter table tickets enable row level security; -- Allow service role full access (for Power Automate) create policy "service_role_all" on tickets for all using (true) with check (true);
3
Enable Supabase webhooks for ticket status changes
In Supabase → Database → Webhooks → Create webhook:
Name: ticket_status_change · Table: tickets · Events: UPDATE · URL: your Power Automate HTTP trigger URL (set up in Phase 3)
Phase 2 — Power Automate: Email → Supabase Flow
make.powerautomate.com · M365 Business Standard · Standard connectors only
1
Create new Automated Cloud Flow
Power Automate → Create → Automated cloud flow → Name: BCSSL IT Ops — Email to Ticket → Trigger: When a new email arrives (V3) → Select shared mailbox: itops@bluecloudsoftech.com
2
Add "Initialize Variable" action — generate Ticket ID
// Variable name: ticketId // Variable type: String // Value expression (use in Power Automate expression editor): concat('TKT-', formatDateTime(utcNow(), 'yyyyMMdd'), '-', substring(guid(), 0, 6) )
3
Add HTTP action — POST ticket to Supabase REST API
// HTTP Action settings: Method: POST URI: https://YOUR_PROJECT.supabase.co/rest/v1/tickets Headers: apikey: YOUR_SUPABASE_ANON_KEY Authorization: Bearer YOUR_SUPABASE_ANON_KEY Content-Type: application/json Prefer: return=representation Body (JSON): { "ticket_id": "@{variables('ticketId')}", "title": "@{triggerOutputs()?['body/Subject']}", "description": "@{triggerOutputs()?['body/Body']}", "raised_by": "@{triggerOutputs()?['body/From']}", "email": "@{triggerOutputs()?['body/From']}", "status": "Open", "priority": "Medium", "category": "Other" }
4
Add Send Email action — auto-reply to staff
Action: Send an email (V2) · To: @{triggerOutputs()?['body/From']} · See Notifications tab for the exact email body template.
5
Add Teams notification action
Action: Post message in a chat or channel · Post in: IT-Alerts channel · See Notifications tab for the exact Teams message template.
Phase 3 — Power Automate: Ticket Closed Notification Flow
Triggered by Supabase webhook when status = Closed
1
Create a new Automated Flow — HTTP trigger
Power Automate → Create → Automated cloud flow → Trigger: When an HTTP request is received. Copy the HTTP POST URL — paste it into your Supabase webhook URL (Phase 1, Step 3).
2
Add Condition — only act when status changed to Closed or Resolved
// Condition expression: or( equals(triggerBody()?['record']?['status'], 'Closed'), equals(triggerBody()?['record']?['status'], 'Resolved') )
3
If Yes — send closed email + Teams notification
In the YES branch, add Send Email and Post Teams message actions. Use the Closed notification templates from the Notifications tab.
Phase 4 — Netlify Hosting
app.netlify.com · Free tier · Auto-deploy from GitHub
1
Sign up at netlify.com → New site → Deploy manually
Drag and drop the BCSSL_ITOps_Portal.html file into the Netlify deploy area. Netlify gives you a free HTTPS URL instantly.
2
Set Environment Variables for Supabase
# Netlify → Site settings → Environment variables SUPABASE_URL=https://YOUR_PROJECT.supabase.co SUPABASE_ANON_KEY=your_anon_key_here
3
Set custom domain (optional)
Netlify → Domain settings → Add custom domain → itops.bluecloudsoftech.com → Point your DNS CNAME to Netlify. Free SSL included.
4
Embed in SharePoint via iframe
<iframe src="https://your-site.netlify.app" width="100%" height="900" frameborder="0" scrolling="yes" style="border:none;border-radius:12px;" title="BCSSL IT Ops Portal" ></iframe>
Phase 5 — Weekly & Monthly Report Automation
Power Automate scheduled flow → Supabase query → Email to CEO
1
Create Scheduled Flow — Weekly (every Friday 4PM)
Power Automate → Create → Scheduled cloud flow → Name: BCSSL Weekly IT Report → Repeat every 1 Week on Friday at 16:00.
2
Query Supabase for weekly ticket stats
// HTTP GET — Supabase REST API query for this week's tickets Method: GET URI: https://YOUR_PROJECT.supabase.co/rest/v1/tickets ?select=status,priority,category,created_at,resolved_at &created_at=gte.@{formatDateTime(addDays(utcNow(),-7),'yyyy-MM-dd')} Headers: apikey: YOUR_SUPABASE_ANON_KEY Authorization: Bearer YOUR_SUPABASE_ANON_KEY
3
Send weekly report email to CEO + Management
See Reports tab for the exact weekly and monthly email report templates with ticket stats, SLA metrics, and security summary sections.
Portal / Notification Templates

Automated Notification Templates

Copy these exact templates into your Power Automate flow actions

📧 Email — Ticket Created (to Staff)
Auto-reply: Ticket Created
Subject: ✅ IT Ticket Received — @{variables('ticketId')}
Dear @{triggerOutputs()?['body/FromName']}, Your IT support request has been received and logged. Ticket ID: @{variables('ticketId')} Issue: @{triggerOutputs()?['body/Subject']} Received: @{formatDateTime(utcNow(), 'dd MMM yyyy, hh:mm tt')} Status: Open Our IT team will respond within the following SLAs: • Critical: 2 hours • High: 8 hours • Medium: 24 hours • Low: 72 hours You will receive another email when your ticket is resolved. Please quote your Ticket ID in any follow-up emails to itops@bluecloudsoftech.com. BCSSL IT Operations Team itops@bluecloudsoftech.com
📧 Email — Ticket Closed (to Staff)
Auto-notify: Ticket Closed
Subject: ✅ IT Ticket Resolved — @{triggerBody()?['record']?['ticket_id']}
Dear @{triggerBody()?['record']?['raised_by']}, Your IT support ticket has been resolved and closed. Ticket ID: @{triggerBody()?['record']?['ticket_id']} Issue: @{triggerBody()?['record']?['title']} Resolved By: @{triggerBody()?['record']?['assigned_to']} Resolved On: @{formatDateTime(utcNow(), 'dd MMM yyyy, hh:mm tt')} Resolution Notes: @{triggerBody()?['record']?['resolution_notes']} If you continue to experience this issue, please email itops@bluecloudsoftech.com and quote your original Ticket ID. Thank you, BCSSL IT Operations Team
💬 Teams — New Ticket Alert (IT-Alerts Channel)
Teams: New Ticket Notification
Post to: IT-Alerts channel (Flow bot)
🎫 **NEW IT TICKET RECEIVED** **Ticket ID:** @{variables('ticketId')} **From:** @{triggerOutputs()?['body/From']} **Subject:** @{triggerOutputs()?['body/Subject']} **Received:** @{formatDateTime(utcNow(),'dd MMM yyyy HH:mm')} **Status:** Open | **Priority:** Pending Review 👉 [View in IT Ops Portal](https://your-site.netlify.app) Please assign and update priority in Supabase.
💬 Teams — Ticket Closed Alert
Teams: Ticket Closed Notification
Post to: IT-Alerts channel (Flow bot)
✅ **TICKET RESOLVED & CLOSED** **Ticket ID:** @{triggerBody()?['record']?['ticket_id']} **Issue:** @{triggerBody()?['record']?['title']} **Raised By:** @{triggerBody()?['record']?['raised_by']} **Resolved By:** @{triggerBody()?['record']?['assigned_to']} **Closed At:** @{formatDateTime(utcNow(),'dd MMM yyyy HH:mm')} Resolution confirmation sent to staff via email.
Portal / Reports

Weekly & Monthly Dashboards

Auto-generated from Supabase data via Power Automate scheduled flows

This Month — Total
124
Apr 1 – Apr 16
📊
Resolved
109
87.9% resolution rate
Avg Resolution Time
4.1h
Target: <6 hours
⏱️
SLA Breached
4
3.2% breach rate
⚠️
Monthly Ticket Volume
Jan – Apr 2024
Jan: 98, Feb: 112, Mar: 89, Apr: 124
Status Breakdown
Current month
Open 12, In Progress 3, Resolved 97, Closed 12
📧 CEO Weekly Report Email Template
Sent every Friday 4PM via Power Automate scheduled flow
Subject: BCSSL IT Ops Weekly Report — Week ending @{formatDateTime(utcNow(),'dd MMM yyyy')} Dear [CEO Name], Please find below the IT Operations weekly summary for the week ending @{formatDateTime(utcNow(),'dd MMM yyyy')}. ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 TICKET SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Total Tickets Received : [Count from Supabase query] Tickets Resolved : [Count resolved this week] Tickets Open : [Count still open] Critical Tickets : [Count priority=Critical] Avg Resolution Time : [Avg hours] SLA Breaches : [Count breached] ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🛡️ SECURITY SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━━━ CrowdStrike : [Threats detected] threats | [Resolved] resolved | [Active] active FortiGate : [Blocked] connections blocked | [IPs] IPs blacklisted Barracuda : [Emails] emails scanned | [Spam] spam blocked | [Phishing] phishing blocked ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎫 TOP ISSUES THIS WEEK ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. [Top issue from Supabase] 2. [Second issue] 3. [Third issue] ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📋 NEXT WEEK PRIORITIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━ • [Open critical tickets to resolve] • [Pending actions] Full dashboard: https://your-site.netlify.app BCSSL IT Operations Team itops@bluecloudsoftech.com
Category Performance — This Month
CategoryTotalResolvedAvg TimeSLA MetPerformance
Network / VPN34315.2 hrs91%
Software28263.8 hrs93%
Hardware22216.1 hrs89%
Security18142.3 hrs78%
Access / Accounts12124.5 hrs100%
Other1057.8 hrs72%
✅ Copied to clipboard!