@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Dynamic.puml

title Social Campaign Publishing Workflow - Dynamic Diagram

Person(owner, "Business Owner")
Person(staff, "Operations Staff")

System(system, "Kell Creations Platform", "Unified business applications and shared services")
System_Ext(facebook, "Facebook", "Social publishing platform")
System_Ext(instagram, "Instagram", "Social publishing platform")
System_Ext(xsocial, "X", "Social publishing platform")

Container(social, "Social Media Management", "Business Application", "Manages campaign content, scheduling, approvals, and publishing")
Container(datarepo, "Shared Data Repository", "Shared Service", "Stores shared campaign, content, and reference data")
Container(api, "API Orchestrator", "Integration Service", "Coordinates publishing and synchronization events")
Container(notify, "Notification Service", "Messaging Service", "Sends approval and exception notifications")
Container(audit, "Audit & Logging Service", "Observability Service", "Captures workflow and publishing events")

Rel(staff, social, "Prepares campaign content and schedules in")
Rel(owner, social, "Approves or governs campaign publication in")

Rel(social, datarepo, "Reads campaign, content, and metadata from")
Rel(social, notify, "Requests approval or exception notifications through")
Rel(social, api, "Submits approved campaign publishing request through")
Rel(api, facebook, "Publishes content to")
Rel(api, instagram, "Publishes content to")
Rel(api, xsocial, "Publishes content to")
Rel(api, audit, "Logs campaign publishing workflow events to")
Rel(social, audit, "Logs campaign edits, approvals, and scheduling activity to")
Rel(datarepo, audit, "Logs campaign data access activity to")

@enduml