Administra las firmas de G Suite con gam

Feb 20, 2018 15:57 · 353 words · 2 minute read bash

Nosotros (funciton y vtwo) utilizamos G Suite como nuestro proveedor de correo, calendario, etc. como muchos de ustedes seguramente también lo hacen.

Con el crecimiento en la cantidad de usuarios, la actualización y aseguramiento de la información en las firmas y disclaimers se volvió un tanto tedioso. Cualquier cambio en estos puntos requería realizar un proceso manual que no era óptimo y consumía demasiado tiempo.

Empresas como SignatureSatori ofrecen soluciones bastante amigables pero con un costo. El costo es bastante bajo (alrededor de $USD 1 por usuario/actualización) pero en este post verás como obtener lo mismo de forma gratuita.

En preparación:

  1. Actualización de la información de los usuarios. Utilizaremos la información ingresada en la tarjeta de cada usuario para generar la firma.

  2. Instalación de la herramienta de línea de comando “gam”.

“gam” es una herramienta de línea de comando que ofrece diferentes comandos para la administración y actualización de los servicios en G Suite.

La instalación es muy simple:

bash <(curl -s -S -L https://git.io/install-gam)

Si estás sobre Windows puedes utilizar un instalador.

Para configurar la herramienta con tu cuenta sigue el proceso paso a paso que la herramienta indique:

gam info user

Comandos necesarios

Como primer punto requerimos de un comando que permita indicar la firma en html para un usuario.

La sintaxis es:

gam user <EMAIL> signature '<strong>nombre:</strong> {nombre} - {telefono}' html

En este html contamos con las variables “nombre” y “telefono” que luego será reemplazada por la información que obtengamos de cada usuario en G Suite.

Para obtener una lista de todos nuestros usuarios con la variable podemos utilizar:

gam print users fields primaryEmail,name,phones

Este comando nos devolverá la lista de usuarios (correos) y variables en formato CSV. Este formato es perfecto ya que nos permitirá utilizar otro comando de gam (gam csv) para la actualización general.

El comando final quedaría así:

gam print users fields primaryEmail,name,phones | gam csv - gam user ~primaryEmail signature '<strong>nombre:</strong> {nombre} - {telefono}' html replace nombre ~name.fullName replace telefono ~phones.0.value

Este comando puede ser ejecutado las veces que requieran sin generar ningún tipo de costo.

Para más información sobre gam y sus comandos:

https://github.com/jay0lee/GAM