Configuración del Workshop
Contacto del Workshop
El correo que aparece en la guía principal y en todos los emails de bienvenida como dirección de consultas.
Será visible en el footer de la guía principal y usado como reply-to en los emails automatizados.
Información del Workshop
Datos generales del workshop mostrados en el footer y en los emails.
Configuración EmailJS
EmailJS envía emails automatizados directamente desde el navegador — sin servidor. Crea tu cuenta gratuita en emailjs.com y configura los datos a continuación.
- 1Crea cuenta gratuita en emailjs.com → My Account → API Keys: copia tu Public Key
- 2En Email Services: conecta tu Gmail o SMTP → copia el Service ID
- 3En Email Templates: crea un template limpio. El body del template debe contener SOLO:
{{message_body}}— los demás campos:
To Email: {{to_email}}
To Name: {{to_name}}
From Name: {{from_name}}
Reply To: {{reply_to}}
Subject: {{subject}}
Body (SOLO esto): {{message_body}} → copia el Template ID - 4Pega los tres códigos a continuación y haz clic en Guardar.
Encuéntralo en emailjs.com → My Account → General → Public Key
Mensaje de Bienvenida
Personaliza el cuerpo del correo de bienvenida. Usa
{{name}} para insertar el nombre del participante.Variables disponibles: {{name}} = Nombre del participante, {{department}} = Departamento, {{contact_email}} = Correo de contacto configurado arriba.
Gestión de Imágenes
Cambia las URLs de las imágenes que aparecen en la guía principal. Puedes usar URLs de Unsplash, Google Drive (compartido) o cualquier hosting de imágenes. Los cambios se reflejan inmediatamente en la guía.
Contraseña de Administrador
Cambia la contraseña de acceso al panel de administración. Contraseña actual predeterminada: Admin2026
Zona de Peligro
Acciones irreversibles. Úsalas con precaución.
📢 Envío Masivo de Correos
Envía un correo personalizado a todos los asistentes registrados en el Workshop. Cada email incluirá el nombre del destinatario automáticamente. Requiere EmailJS configurado en la pestaña Bienvenida.
Cargando destinatarios...
Este asunto es independiente del correo de bienvenida.
Variables disponibles:
{{name}} = Nombre del participante
{{contact_email}} = Correo de contacto
⚠️ EmailJS límite: plan gratuito = 200 emails/mes. Cada envío masivo usa 1 crédito por destinatario.
El envío puede tardar varios segundos. No cierres esta página durante el proceso.
🏅 Configuración de Certificados
Los certificados se generan mediante Google Docs + Apps Script. El participante ingresa su correo en certificate.html, se verifica que aprobó el quiz (≥70%), y se descarga un PDF personalizado con su nombre desde tu plantilla de Google Docs.
Esta URL la obtienes al desplegar tu Apps Script como "Aplicación Web". Ver instrucciones abajo.
📋 Cómo configurar Google Docs + Apps Script
Paso 1 — Crea tu plantilla en Google Docs:
Abre Google Docs → crea tu diseño de certificado → usa estos marcadores exactos:
Paso 2 — Copia el ID del documento:
En la URL de tu Doc:
Paso 3 — Crea el Apps Script:
Ve a script.google.com → Nuevo Proyecto → pega este código completo:
Abre Google Docs → crea tu diseño de certificado → usa estos marcadores exactos:
{{nombre}}
{{apellido}}
{{fecha}}
{{score}}
{{certId}}
{{departamento}}Paso 2 — Copia el ID del documento:
En la URL de tu Doc:
docs.google.com/document/d/TU_TEMPLATE_ID/editPaso 3 — Crea el Apps Script:
Ve a script.google.com → Nuevo Proyecto → pega este código completo:
// ── CONFIGURACIÓN ────────────────────────────────────────────────────
var TEMPLATE_ID = 'PEGA_AQUI_TU_TEMPLATE_ID'; // ← ID de tu plantilla Google Doc
var FOLDER_ID = '1OIdzuqUkJeljfz6xghpGm1TUVUJHEVvr'; // ← carpeta CERTIFICADOS (ya configurada)
// ────────────────────────────────────────────────────────────────────
function doGet(e) {
try {
var p = e.parameter;
var nombre = p.nombre || '';
var apellido = p.apellido || '';
var certId = p.certId || '';
if (!nombre || !apellido || !certId) {
return jsonResponse({ success: false, error: 'Faltan parámetros: nombre, apellido, certId' });
}
var folder = DriveApp.getFolderById(FOLDER_ID);
var fileName = 'Cert_' + nombre + '_' + apellido + '_' + certId;
// ── Verificar si el certificado ya existe (evita duplicados) ──
var existing = folder.getFilesByName(fileName);
if (existing.hasNext()) {
var existFile = existing.next();
var downloadUrl = 'https://drive.google.com/uc?export=download&id=' + existFile.getId();
return jsonResponse({
success: true,
downloadUrl: downloadUrl,
fileName: fileName,
certId: certId,
cached: true // ya existía
});
}
// ── Crear nuevo certificado ────────────────────────────────────
var template = DriveApp.getFileById(TEMPLATE_ID);
var copy = template.makeCopy(fileName, folder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
body.replaceText('{{nombre}}', nombre);
body.replaceText('{{apellido}}', apellido);
body.replaceText('{{certId}}', certId);
doc.saveAndClose();
// El archivo hereda los permisos de la carpeta pública
// pero lo marcamos explícitamente para asegurar descarga directa
copy.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
var downloadUrl = 'https://drive.google.com/uc?export=download&id=' + copy.getId();
return jsonResponse({
success: true,
downloadUrl: downloadUrl,
fileName: fileName,
certId: certId,
cached: false // recién creado
});
} catch(err) {
return jsonResponse({ success: false, error: err.message });
}
}
function jsonResponse(data) {
return ContentService
.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
En tu plantilla de Google Docs solo necesitas estos 3 marcadores:
Carpeta destino: drive.google.com → CERTIFICADOS →
Nombre del archivo:
Si una persona descarga 2 veces, el script reutiliza el archivo ya existente.
Pasos para desplegar:
1. Ve a script.google.com → Nuevo Proyecto → pega el código completo
2. Cambia
3. Guardar → Implementar → Nueva Implementación
4. Tipo: Aplicación Web · Ejecutar como: Yo · Quién accede: Cualquier persona
5. → Implementar → Autorizar → Copiar la URL → pégala arriba y guarda.
{{nombre}}
{{apellido}}
{{certId}}Carpeta destino: drive.google.com → CERTIFICADOS →
Nombre del archivo:
Cert_Nombre_Apellido_SAW2026-XXXXXXXXSi una persona descarga 2 veces, el script reutiliza el archivo ya existente.
Pasos para desplegar:
1. Ve a script.google.com → Nuevo Proyecto → pega el código completo
2. Cambia
TEMPLATE_ID por el ID de tu Doc de plantilla3. Guardar → Implementar → Nueva Implementación
4. Tipo: Aplicación Web · Ejecutar como: Yo · Quién accede: Cualquier persona
5. → Implementar → Autorizar → Copiar la URL → pégala arriba y guarda.
📊 Certificados Emitidos
Cargando...