Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Motor de reservas de citas para profesionales/emprendedores. El cliente elige un horario libre en una página pública y el turno queda creado automáticamente en el calendario real del profesional (Google y/o Outlook), con confirmación por WhatsApp y respaldo por email — sin llamadas, sin ida y vuelta de correos.Read the full README ↗
Motor de reservas de citas para profesionales/emprendedores. El cliente elige un horario libre en una página pública y el turno queda creado automáticamente en el calendario real del profesional (Google y/o Outlook), con confirmación por WhatsApp y respaldo por email — sin llamadas, sin ida y vuelta de correos.
Es la primera pieza del proyecto de agendamiento descrito en el informe
Informe - Implementacion Agendate Tu Mismo y Agente AgendaFacil.docx
(carpeta principal del proyecto). Comparte el mismo enfoque de
sincronización (Google Calendar API + Microsoft Graph API) que se usará
más adelante para integrarse con Agente AgendaFácil.
/reservar/{slug}): elegir servicio (si hay más de uno), elegir día, elegir horario, completar nombre/WhatsApp, confirmar./admin) con: Panel (métricas y próximos turnos), Agenda semanal, Reservas (buscador, filtros y acciones), Calendarios, y Configuración (datos básicos, horario, servicios, notificaciones)./api/cron/daily-summary, ver sección 8): la agenda del día, sin tener que entrar al Panel a buscarla.POST /api/admin/professionals, sin login propio por profesional todavía).src/app/api/webhooks/whatsapp/route.ts).npm install
cp .env.example .env
Completar .env con las credenciales de cada sección (el archivo tiene,
en cada bloque, el link exacto a donde se obtiene cada dato).
Generar las dos claves de seguridad:
openssl rand -base64 32 # para AUTH_SECRET
openssl rand -base64 32 # para TOKEN_ENCRYPTION_KEY (tiene que decodificar a 32 bytes, este comando ya lo hace)
Generar el hash de la contraseña de admin:
npx tsx scripts/hash-password.ts "la-contraseña-que-quieras"
# copiar la línea ADMIN_PASSWORD_HASH="..." resultante al .env
npx prisma migrate dev
Esto crea las tablas en la base de PostgreSQL de DATABASE_URL y regenera el
cliente de Prisma. Si ya tenías el proyecto corriendo desde antes de sumar
Servicios/Teams/multi-profesional, alcanza con volver a correr este mismo
comando: aplica la migración nueva (add_services_teams_multiprofessional)
sin tocar los datos existentes.
{APP_URL}/api/auth/google/callback.env.{APP_URL}/api/auth/outlook/callbackCalendars.ReadWrite, offline_access, User.Read..env.Ver docs/whatsapp-template.md para el paso a paso de la plantilla que hay
que mandar a aprobar a Meta. Mientras no esté aprobada, el sistema sigue
funcionando: la reserva se confirma igual en el calendario, solo que sin el
mensaje de WhatsApp (queda registrado como pendiente en la tabla de logs).
npm run dev
This is the beginning of the README. Read the rest at the original. Read the full README ↗