FASE 1: Preparación del entorno
Nombre sugerido: MarketingEventos
Tipo: Sitio de equipo (para facilitar colaboración y permisos)
Ve a tu sitio de SharePoint > Contenido del sitio > +Nueva lista > “Desde Excel”
Sube cada archivo (Eventos, Actividades, Proveedores, Clientes)
Revisa y ajusta los tipos de columna:
Convertir columnas como Responsable a tipo “Persona”
Evento relacionado y Proveedor asignado a tipo “Buscar (Lookup)” con relación a la lista correspondiente
Tipo de evento, Tipo de actividad, Estado a tipo “Elección (Choice)”
Asegúrate que los usuarios tengan acceso de edición al sitio.
FASE 2: Construcción de la App en Power Apps Canvas
Abre Power Apps > Crear app > App en blanco (tipo Canvas)
Conecta tus listas de SharePoint como fuentes de datos:
Data > Agregar fuente > SharePoint > Elige tu sitio > Selecciona tus listas: Eventos, Actividades, Proveedores, Clientes
Inicio (Dashboard)
Eventos
Actividades
Proveedores
Clientes
(Opcional: Reportes)
Usa Label y Gallery para mostrar:
Total de eventos
Actividades por estado
Actividades próximas (Filter(Actividades, Fecha_de_ejecución >= Today()))
Galería con eventos + ícono para crear nuevo
Formulario para ver/detallar/editar
Botón para ver actividades relacionadas (Navigate(ActividadesScreen, {SelectedEvent: ThisItem}))
Galería filtrada por evento (usando variable SelectedEvent)
Botón para crear nueva
Formulario para editar y ver detalles
Campos tipo Lookup como dropdown conectados a sus listas
CRUD simple con galería + formulario
Set(currentUser, User()) para guardar datos del usuario logueado
UpdateContext({SelectedEvent: ThisItem}) para pasar valores entre pantallas
FASE 3: Automatización con Power Automate
Disparador: “Cuando se cree un elemento” (Lista: Eventos)
Acción: Enviar mensaje a canal de Teams con datos del evento + link
Disparador: “Cuando se cree un ítem” (Lista: Actividades)
Condición: Proveedor asignado ≠ vacío
Acción: Mensaje en Teams con datos clave
Disparador: “Cuando se modifique un ítem”
Usa “Get changes for an item or a file” para detectar si el campo Estado cambió
Acción: Mensaje de actualización al responsable o canal
FASE 4: Pruebas y publicación
Prueba funcionalidad de cada pantalla en Power Apps
Verifica que los flujos se disparen correctamente con contenido útil
Comparte la app con tu equipo desde Power Apps > Compartir
Opción adicional: publica en Teams como pestaña dentro de un canal
I'll help you create a marketing events management solution using SharePoint, Power Apps, and Power Automate. Let's build a dashboard application that helps track events, activities, providers, and clients.
First, let's create the SharePoint site and lists structure:
Here's how to implement this marketing events management solution:
Create a SharePoint site:
Import Excel lists:
Configure column types:
Configure permissions:
Create a new Canvas app:
Connect to SharePoint data sources:
Create the navigation structure:
Implement the screens shown in the prototype:
Dashboard screen:
Filter(Actividades, Fecha_de_ejecución >= Today())Events screen:
Activities screen:
Providers and Clients screens:
Global variables:
Set(currentUser, User()) to store the logged-in userUpdateContext({SelectedEvent: ThisItem}) to pass data between screensNew Event Notification Flow:
Provider Assignment Flow:
Activity Status Change Flow:
Once you've implemented this solution, consider these enhancements:
This solution provides a comprehensive way to manage marketing events, track activities, and coordinate with providers and clients, all within the Microsoft 365 ecosystem.
You're right, let me focus specifically on implementing this solution in Power Apps. Here's a detailed guide for building your Marketing Events Manager in Power Apps:
Create a new Canvas app:
Connect to SharePoint data sources:
Create your navigation:
// On App.OnStart property, add:
Set(
AppVars,
{
CurrentScreen: "Dashboard",
CurrentUser: User(),
SelectedEvent: Blank(),
SelectedActivity: Blank()
}
);Add a navigation bar:
// For each navigation button, set OnSelect:
Set(AppVars.CurrentScreen, "Dashboard");
Navigate(DashboardScreen);Create KPI cards:
// Total Events card label
Text: "Total Events: " & CountRows(Eventos)
// Pending Activities card label
Text: "Pending Activities: " & CountRows(Filter(Actividades, Estado = "Pendiente"))Upcoming Activities gallery:
// Gallery Items property
SortByColumns(
Filter(
Actividades,
Fecha_de_ejecución >= Today()
),
"Fecha_de_ejecución", Ascending
)Add status indicators:
// In the gallery template, add a label with:
Text: ThisItem.Estado
Color: If(ThisItem.Estado = "Completado", Green, If(ThisItem.Estado = "En Progreso", Blue, Orange))Events gallery:
// Gallery Items property
SortByColumns(Eventos, "Fecha_inicio", Ascending)
// OnSelect property
Set(AppVars.SelectedEvent, ThisItem);
Navigate(EventDetailScreen);New Event button:
// OnSelect property
ResetForm(EventForm);
NewForm(EventForm);
Navigate(NewEventScreen);Event form fields:
Add form controls for:
Activities gallery with filtering:
// Gallery Items property - when coming from an event
If(
!IsBlank(AppVars.SelectedEvent),
Filter(Actividades, Evento_relacionado.ID = AppVars.SelectedEvent.ID),
Actividades
)
// OnSelect property
Set(AppVars.SelectedActivity, ThisItem);
Navigate(ActivityDetailScreen);Activity form with lookups:
// For the Event dropdown DataSource property
Eventos
// For the Provider dropdown DataSource property
Proveedores
// For the Assigned To people picker DataSource
Office365Users.SearchUser()Status tracking:
// Status change OnChange property
If(
DataCardValue_Status.Selected.Value = "Completado" &&
AppVars.SelectedActivity.Estado <> "Completado",
Patch(
Actividades,
AppVars.SelectedActivity,
{
Estado: "Completado",
Fecha_completado: Now()
}
)
)Providers gallery:
// Gallery Items property
SortByColumns(Proveedores, "Nombre", Ascending)Provider form fields:
Add form controls for:
Search functionality:
// Add a search box with OnChange property
UpdateContext({searchText: TextInput1.Text});
// Then in your gallery Items property
If(
IsBlank(searchText),
Eventos,
Filter(
Eventos,
StartsWith(Nombre, searchText) ||
StartsWith(Ubicacion, searchText) ||
StartsWith(Responsable.DisplayName, searchText)
)
)Activity filtering by status:
// Add a dropdown for status filtering
UpdateContext({statusFilter: Dropdown1.Selected.Value});
// Then in your gallery Items property
Filter(
Actividades,
IsBlank(statusFilter) || Estado = statusFilter
)Event detail view with related activities:
// In the event detail screen, add a gallery with:
Items: Filter(Actividades, Evento_relacionado.ID = AppVars.SelectedEvent.ID)Dashboard charts:
// For activities by status chart
Items: GroupBy(
Actividades,
"Estado",
"Count",
CountRows(ThisRecord.AllItems)
)Trigger flows from Power Apps:
// Button to send notification OnSelect
PowerAppsbutton.Run(
AppVars.SelectedEvent.ID,
AppVars.SelectedEvent.Nombre,
AppVars.CurrentUser.Email
)Flow for activity status changes:
Flow for new provider assignments:
Calculate days until event:
DateDiff(Today(), ThisItem.Fecha_inicio)Format currency:
Text(ThisItem.Presupuesto, "$#,##0.00")Calculate budget usage:
// Assuming you track expenses in a related list
Sum(
Filter(
Gastos,
Evento_relacionado.ID = AppVars.SelectedEvent.ID
),
Monto
)Progress indicator:
// For activities completion
CountRows(
Filter(
Actividades,
Evento_relacionado.ID = AppVars.SelectedEvent.ID &&
Estado = "Completado"
)
) /
CountRows(
Filter(
Actividades,
Evento_relacionado.ID = AppVars.SelectedEvent.ID
)
) * 100Save and publish:
Share with your team:
Add to Teams:
This Power Apps implementation gives you a fully functional event management system that connects directly to your SharePoint lists. The formulas and functions are specific to Power Apps and will help you create a dynamic, interactive experience for your marketing team.