# M22TC Google Workspace Módulo de integración con Google Workspace para CRM que permite gestionar documentos de oportunidades en Google Drive. ## Características - **Integración con Google Drive**: Campo para seleccionar folder de Google Drive en la empresa - **Gestión de documentos por oportunidad**: Cada oportunidad puede tener su propio folder en Google Drive - **Configuración centralizada**: Configuración en la empresa que se aplica a todas las oportunidades - **Interfaz intuitiva**: Botones para crear, abrir y gestionar folders de Google Drive - **Sincronización automática con Google Meet**: Procesamiento automático de grabaciones de reuniones ## Dependencias - `google_api`: Módulo base para integración con Google APIs - `crm`: Módulo de CRM de Odoo ## Instalación 1. Asegúrate de que el módulo `google_api` esté instalado y configurado 2. Instala este módulo desde la lista de módulos de Odoo 3. Configura las credenciales de Google Drive en la empresa ## Configuración ### 1. Configuración de la Empresa 1. Ve a **Ajustes** > **Empresas** > Selecciona tu empresa 2. En la pestaña **Google Workspace**: - Marca **Enable Google Drive CRM Integration** - Ingresa el **Google Drive CRM Folder ID** (ID del folder principal) - Haz clic en **Test Google Drive Connection** para verificar ### 2. Obtener Folder ID de Google Drive 1. Ve a [Google Drive](https://drive.google.com/) 2. Navega al folder que quieres usar como principal para CRM 3. La URL será: `https://drive.google.com/drive/folders/FOLDER_ID` 4. Copia el `FOLDER_ID` de la URL ## Uso ### En Oportunidades de CRM 1. Abre una oportunidad de CRM 2. Ve a la pestaña **Google Drive** 3. Haz clic en **Create Google Drive Folder** para crear un folder específico 4. Usa **Open Google Drive Folder** para acceder al folder 5. Usa **Rename Folder Structure** para renombrar la estructura si cambian los componentes 6. Usa **Upload Documents** para subir archivos ### Funcionalidades - **Crear folder**: Crea automáticamente un folder para cada oportunidad - **Abrir folder**: Abre el folder de Google Drive en una nueva pestaña - **Renombrar estructura**: Renombra las carpetas existentes si cambian los componentes - **Contar documentos**: Muestra el número de documentos en el folder - **Filtros**: Filtra oportunidades con/sin folder de Google Drive ## Estructura de Folders ``` Google Drive CRM Folder (Principal) ├── Oportunidad 1 │ ├── Documento1.pdf │ ├── Documento2.docx │ └── ... ├── Oportunidad 2 │ ├── Propuesta.pdf │ └── ... └── ... ``` ## Sincronización Automática con Google Meet ### Funcionalidad de Sincronización Flexible El módulo incluye una función de sincronización que puede procesar reuniones de Google Meet de diferentes maneras: #### 1. Sincronización por Días (Entero) ```python # Sincronizar meets de los últimos 15 días env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=15) # Sincronizar meets de los últimos 7 días env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=7) # Sincronizar meets del último día env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=1) ``` #### 2. Sincronización por Fecha Específica (YYYY-MM-DD) ```python # Sincronizar meets de una fecha específica env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30') # Sincronizar meets de otra fecha env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-01-15') ``` #### 3. Sincronización con String como Entero ```python # Sincronizar meets usando string como días env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='3') env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='10') ``` ### Casos de Uso - **Para pruebas en producción**: Usar fecha específica (`'2024-08-30'`) - **Para sincronización diaria**: Usar entero (`1`) - **Para sincronización semanal**: Usar entero (`7`) - **Para sincronización mensual**: Usar entero (`30`) ### Ejecución desde Línea de Comandos ```bash # Ejemplo: Sincronizar meets de una fecha específica python3 -c " import odoo odoo.cli.server.main() env = odoo.api.Environment(odoo.registry('stg2.mcteam.run').cursor(), odoo.SUPERUSER_ID, {}) result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30') print(result) env.cr.close() " ``` ### Proceso de Sincronización 1. **Búsqueda de Reuniones**: Busca reuniones de Google Meet con grabaciones 2. **Identificación de Participantes**: Extrae emails de participantes de las reuniones 3. **Búsqueda de Oportunidades**: Encuentra oportunidades CRM donde los participantes son contactos 4. **Creación de Estructura**: Crea carpetas de Google Drive si no existen 5. **Movimiento de Archivos**: Mueve las grabaciones a la carpeta "Meets" de la oportunidad correspondiente ### Configuración del Cron El cron está configurado para ejecutarse cada 30 minutos por defecto, pero puedes modificarlo en: **Ajustes > Técnico > Automatización > Tareas Programadas > "CRM Calendar Sync - Google Workspace"** ## Próximas Funcionalidades - Sincronización automática de documentos - Subida masiva de archivos - Integración con Google Calendar para eventos - Notificaciones automáticas ## Soporte Para soporte técnico, contacta a MC Team en [https://mcteam.mx](https://mcteam.mx)