Complete knowledge base for site administration, client management, and platform architecture.
RedRiver AI is a Manitoba-based AI + IT services company serving local businesses with a full suite of tools including AI receptionists, enterprise phone systems, managed IT security, network infrastructure, and on-site support. The platform is built on Base44 (React + Tailwind frontend, serverless backend functions, and a built-in database). The app serves two primary audiences: (1) Admin/Staff who manage clients, tickets, and content, and (2) Clients who access their own dashboard to view services, reports, and tickets. Company Contact: - Address: 1032 Logan Ave, Winnipeg MB R3E 1P5 - Phone: +1 204-955-4357 (204-955-HELP) - Toll Free: 833-253-8351 - Email: hello@redriverai.com - Gmail (internal alerts): redriver3cx@gmail.com
PUBLIC PAGES (no login required): - / (Home): Main landing page. Features hero, service grid, pricing, client logos, footer. - /AIReceptionist: Dedicated page for the AI Receptionist product with pricing tiers and industry breakdowns. - /USD2SIP: Standalone landing page for the Restaurant Order AI product (SIP-based voice ordering for Uber Eats/DoorDash/Skip). - /Contact: Contact form that saves submissions to the ContactSubmission entity and notifies hello@redriverai.com. - /HelpCenter: Customer-facing support article browser with search, categories, and helpfulness voting. - /KnowledgeBase: Internal AI-powered knowledge base for support articles. Admin can add articles and AI auto-categorizes/tags them. - /TicketView or /tickets/:id: Public ticket status page (no login needed). Callers receive a link to view their ticket. AUTHENTICATED PAGES (login required): - /ClientDashboard: Client portal. Shows services, call transcripts, monthly reports, support tickets, and on-site booking. - /ProposalGenerator: Admin tool to generate branded IT proposal Google Docs for prospects. - /AdminSEO: Admin page to manage per-page SEO metadata (title, description, OG tags, robots). - /AdminSEORankings: Admin page showing Google Search Console data — keyword rankings, clicks, impressions. - /USD2SIP: Also accessible from main nav as a standalone product page.
The following entities store all app data. Each record automatically has: id, created_date, updated_date, created_by. SupportTicket: - Fields: client_email, title, description, priority (Low/Medium/High/Critical), status (Open/In Progress/Awaiting Client/Resolved/Closed), category (AI Receptionist/Phone System/Network/Hardware/Software/Billing/On-Site/Other), admin_notes, resolved_date. - Access: Clients can read/update their own tickets. Admins have full access. ContactSubmission: - Fields: name, email, phone, message, welcome_email_sent. - Access: Anyone can create (public form). Admins can read/update/delete. ClientService: - Fields: client_email, service_name, service_type, status (Active/Paused/Cancelled), plan, price_per_month, renewal_date, notes. - Access: Clients see their own. Admins see all. MonthlyReport: - Fields: client_email, report_month, report_label, file_url, summary, total_calls_handled, tickets_resolved, uptime_percent. - Access: Clients see their own. Admins manage all. CallTranscript: - Fields: client_email, caller_name, caller_phone, call_date, duration_seconds, summary, transcript, sentiment, action_taken. - Access: Clients see their own. Admins manage all. KnowledgeArticle: - Fields: title, content, category, tags, summary, view_count, helpful_count. - Access: Admins create/edit. Everyone can read. SupportArticle: - Fields: title, slug, category, summary, content, tags, is_published, helpful_yes, helpful_no. - Access: Public read. Admin create/edit/delete. SEOSettings: - Fields: page_slug, page_label, title, description, keywords, og_title, og_description, og_image, canonical_url, robots. - Access: Admin only. SIPAccount: - Fields: extension, username, secret, server (default: redriver.my3cx.ca), user_email, notes. - Access: Users see their own. Admins see all. ClientSuccess (Testimonials): - Fields: client_name, company, industry, result_headline, testimonial_quote, logo_url, case_study_url, is_featured. - Access: Public read. Admin manage.
Backend functions are serverless Deno handlers that integrate with external APIs. daleWebhook (CRITICAL — AI Receptionist Bridge): - URL: Available in Dashboard → Code → Functions → daleWebhook - Purpose: Receives webhook calls from Dale (the AI voice agent) and creates records in the database. - Actions supported: • create_ticket → Creates a SupportTicket + sends email alert to redriver3cx@gmail.com • create_customer → Creates a ContactSubmission • log_inquiry → Creates a ContactSubmission • log_call → Creates a CallTranscript - Authentication: Uses Gmail OAuth via GMAIL_REFRESH_TOKEN, GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET secrets. - Email alert: Sends HTML-formatted ticket notification to redriver3cx@gmail.com via Gmail API. generateITProposal: - Purpose: Creates a branded IT proposal as a Google Doc using the Google Docs API. - Authentication: Uses the authorized Google Docs connector (OAuth). - Input: Client name, company, services selected, plan, pricing, notes. - Output: Returns Google Doc URL. syncOnsiteToCalendar: - Purpose: Syncs on-site support bookings from ClientDashboard to Google Calendar. - Authentication: Uses the authorized Google Calendar connector. sendWelcomeEmail: - Purpose: Sends welcome emails to new ContactSubmission entries. - Authentication: Uses Gmail connector. searchConsoleRankings: - Purpose: Fetches keyword ranking data from Google Search Console for the AdminSEORankings page. - Authentication: Uses the authorized Google Search Console connector.
OAuth Connectors (authorized under the app builder's account — shared): - Gmail: Scope includes gmail.send. Used for sending ticket alerts and welcome emails. - Google Calendar: Scope includes calendar.events. Used for on-site booking sync. - Google Docs: Scope includes documents + drive.file. Used for proposal generation. - Google Search Console: Scope includes webmasters.readonly. Used for SEO rankings dashboard. Environment Secrets (set in Dashboard → Settings → Environment Variables): - GMAIL_REFRESH_TOKEN: OAuth refresh token for Gmail API direct calls (used in daleWebhook). - GMAIL_CLIENT_ID: Google OAuth client ID. - GMAIL_CLIENT_SECRET: Google OAuth client secret. 3CX Phone System: - Hosted at: redriver.my3cx.ca - AI Demo: https://redriver.my3cx.ca/ai - SIP Server: redriver.my3cx.ca - Used for: Enterprise phone system, SIP accounts for clients. Dale AI Agent (Voice Receptionist): - Communicates with the app via the daleWebhook backend function. - Creates tickets, logs calls, registers customer inquiries automatically. - Accessible via WhatsApp through the Dale agent. External Calendly: - Used for booking demos: https://calendly.com/your-link (placeholder — update with real link).
HOW TO: Manage Support Tickets 1. Log in as admin. 2. Go to /ClientDashboard or access tickets via the database. 3. Update status, add admin_notes, set resolved_date when closing. 4. Clients can view their ticket status at /TicketView?id=<ticket_id>. HOW TO: Add a Client Service 1. Go to database → ClientService entity. 2. Create a new record with the client's email, service type, plan, price, and renewal date. 3. The client will see this automatically in their /ClientDashboard. HOW TO: Upload a Monthly Report 1. Go to database → MonthlyReport entity. 2. Create a record with client_email, report_month (e.g. 2026-03), label, and optionally a file_url (PDF link). 3. Fill in summary stats: total_calls_handled, tickets_resolved, uptime_percent. HOW TO: Generate an IT Proposal 1. Log in as admin, navigate to /ProposalGenerator. 2. Fill in client details, select services and plan tier. 3. Click Generate — the system creates a Google Doc and returns a link. HOW TO: Manage SEO 1. Navigate to /AdminSEO. 2. Add or edit per-page SEO settings (title, description, OG image, etc.). 3. Use page_slug matching the route (e.g. "/" for Home, "/AIReceptionist"). 4. View ranking data at /AdminSEORankings. HOW TO: Add Knowledge Base Articles 1. Navigate to /KnowledgeBase. 2. Enter title and content — AI will auto-generate category, tags, and summary. 3. Articles are immediately searchable. HOW TO: Manage Client Success Stories 1. Go to database → ClientSuccess entity. 2. Add company, testimonial_quote, result_headline, and optionally a logo_url. 3. Set is_featured = true to show on the homepage carousel. HOW TO: Add a SIP Account for a Client 1. Navigate to /AdminSIP. 2. Fill in extension, username, secret, and associate with user_email. 3. Server defaults to redriver.my3cx.ca.
The Client Dashboard (/ClientDashboard) is the primary self-service portal for clients. Clients must be invited/registered users. TABS AVAILABLE: - Services: Shows active ClientService records for their email. Status badges (Active/Paused/Cancelled). - Call Transcripts: Shows CallTranscript records. Includes AI summary, sentiment, action taken. - Monthly Reports: Shows MonthlyReport records with downloadable links and KPI stats. - Support Tickets: Shows SupportTicket records. Clients can create new tickets and track status. - Book On-Site: Form to schedule an on-site technician visit. Creates a ticket + syncs to Google Calendar. - Upgrade Services: Request new or upgraded services — creates a high-priority support ticket. TICKET STATUS FLOW: Open → In Progress → Awaiting Client → Resolved → Closed PRIORITY LEVELS: Low | Medium | High | Critical
MANAGED IT + PHONE + AI BUNDLE: - Starter: $299/mo — Up to 8 seats - Growth: $499/mo — Up to 16 seats - Unlimited: $799/mo — 17+ seats Includes: AI tools + phone system + full IT support + on-site service (Winnipeg & Selkirk) No setup fee | No contract | Cancel anytime AI RECEPTIONIST (Standalone): - Starter: $49/mo — Basic call answering + routing + messages - Professional: $149/mo — + 24/7 booking, calendar integration, FAQ handling - Enterprise: Custom quote — CRM/DMS integration, doc dispatch, advanced analytics USD2SIP — RESTAURANT ORDER AI: - Starter: $149/mo per location — Core SIP AI, 1 aggregator, unlimited calls - Pro: $249/mo per location — All 3 aggregators, upsells, analytics dashboard - Enterprise: $299+/mo — Multi-location, white-label, custom AI training
ACTIVE CLIENTS (as of 2026): - RideTime.ca (Automotive) - One Evergreen Law (Legal) - Shelly's Indigenous Bistro (Restaurant) - Red River Messenger (Media) - True North Motors (Automotive) - General Signs Selkirk (Signage) - St. Norbert Arts Centre / SNAC (Arts) - Yen's Bookkeeping (Financial) + 4 additional clients SERVICE AREA: - Primary: Winnipeg, MB & Selkirk, MB - On-site support: No trip charge within service area - Remote support: Province-wide and beyond
FRONTEND: - React 18 + Vite - Tailwind CSS with custom Métis Heritage color palette (metis-blue, metis-red, metis-green, metis-yellow, metis-glow) - shadcn/ui component library - framer-motion for animations - react-router-dom v6 for routing - @tanstack/react-query for data fetching/caching - recharts for analytics charts BACKEND: - Base44 platform (serverless backend as a service) - Deno-based backend functions (in /functions directory) - Built-in entity database with RLS (Row Level Security) - OAuth connectors for Google services DESIGN SYSTEM: - Métis-inspired color palette honoring Red River Métis heritage - Primary brand colors: Sky Blue (#0077be), Red (#d21034), Green (#006847), Yellow (#fdb913), Glow (#60c8ff) - Infinity (∞) symbol used as brand motif throughout - MetisSashPattern and InfinityNetwork decorative components SECURITY: - Row-Level Security on all entities (clients only see their own data) - Admin role required for sensitive operations - OAuth tokens stored securely, never exposed to frontend - Environment secrets managed via Base44 dashboard
RedRiver AI — Confidential Admin Manual — 2026-09-27