Salta el contingut

Google Chat i ngrok

Google Chat

Google Chat és la plataforma de missatgeria i col·laboració de Google (equivalent a Slack per a l'ecosistema Google Workspace). n8n pot enviar missatges a Google Chat de manera automàtica.

Mètode 1: Incoming Webhooks (més simple)

Google Chat permet crear webhooks entrants a un espai (room) sense necessitat d'OAuth. És el mètode més ràpid.

Configurar un webhook a Google Chat

  1. Obre Google Chat i ves a l'espai on vols rebre els missatges
  2. Fes clic al nom de l'espai a la part superior → Gestiona webhooks
  3. Fes clic a Afegir webhook
  4. Posa un nom: n8n Bot
  5. (Opcional) Afegeix una URL d'avatar
  6. Fes clic a Guardar i copia la URL del webhook

La URL tindrà aquest format:

https://chat.googleapis.com/v1/spaces/XXXXX/messages?key=XXXXX&token=XXXXX

Enviar un missatge des d'n8n

Afegeix un node HTTP Request amb:

Method: POST
URL: [la URL del webhook de Google Chat]
Headers:
  Content-Type: application/json
Body (JSON):
{
  "text": "Missatge des d'n8n: {{ $json.missatge }}"
}

Formato dels missatges

Google Chat admet tres formats de missatges:

{
  "text": "Hola des d'n8n!"
}

{
  "text": "*Alerta important!* \n Nou error detectat: {{ $json.error }}"
}
Usa *text* per negreta i _text_ per italica.

{
  "cardsV2": [{
    "cardId": "card1",
    "card": {
      "header": {
        "title": "Resum diari",
        "subtitle": "{{ $now.toLocaleString() }}"
      },
      "sections": [{
        "widgets": [{
          "textParagraph": {
            "text": "Total de processos: <b>{{ $json.total }}</b>"
          }
        }]
      }]
    }
  }]
}

Mètode 2: Bot de Google Chat (OAuth2)

Per a integracions més avancades (llegir missatges, respondre en fils, interaccionar amb l'usuari), necessites crear un Bot de Google Chat:

  1. Ves a Google Cloud Console
  2. Activa la Google Chat API
  3. Ves a API i serveis → Google Chat → Configuració
  4. Configura el bot (nom, avatar, descripció)
  5. Usa les credencials OAuth2 (igual que Gmail)

ngrok

ngrok és una eina que crea un tunel segur entre un port local de la teva màquina i una URL pública d'internet. És essencial per a:

  • Provar webhooks entrants (GitHub, Stripe, Shopify...)
  • Exposar el teu n8n local a serveis externs
  • Demostrar workflows a clients sense necessitat de servidor
flowchart LR
    EXT[Servei extern\nex: GitHub] -->|POST https://abc.ngrok.io/webhook/...| NG[ngrok]
    NG -->|localhost:5678/webhook/...| N8N[n8n local]
    N8N --> NG
    NG --> EXT

Instal·lar ngrok

# Amb Chocolatey
choco install ngrok

# O descarrega l'executable de ngrok.com/download
# Amb Homebrew (Mac)
brew install ngrok/ngrok/ngrok

# Amb snap (Linux)
snap install ngrok
docker run --rm -it \
  -e NGROK_AUTHTOKEN=el-teu-token \
  ngrok/ngrok http host.docker.internal:5678

Configurar ngrok

  1. Ves a ngrok.com i crea un compte gratuït
  2. copia el teu authtoken del dashboard
  3. Configura ngrok:
    ngrok config add-authtoken el-teu-authtoken
    

Usar ngrok amb n8n

  1. Assegura't que n8n està en execució al port 5678
  2. Executa ngrok:
    ngrok http 5678
    
  3. Veuràs una sortida similar a:
    Session Status    online
    Account           el-teu-compte (Plan: Free)
    Forwarding        https://abc123.ngrok-free.app -> http://localhost:5678
    
  4. La URL https://abc123.ngrok-free.app es ara accessible des d'internet

Actualitzar el WEBHOOK_URL a n8n

Perque n8n generi les URLs de webhook correctes amb la URL de ngrok:

  1. Para n8n
  2. Actualitza el docker-compose.yml:
    - WEBHOOK_URL=https://abc123.ngrok-free.app/
    
  3. Reinicia n8n

URL temporal de ngrok

En el pla gratuït de ngrok, la URL canvia cada vegada que reinicies ngrok. Hauries d'actualitzar el WEBHOOK_URL i reconfigurar els webhooks als serveis externs cada cop. El pla de pagament ofereix URLs estatiques.

Exemple complet: GitHub Webhook → n8n → Google Chat

flowchart LR
    GH[GitHub\nPush event] -->|https://abc.ngrok.io/webhook/...| N8N[n8n\nWebhook node]
    N8N --> C[Code\nFormatar missatge]
    C --> GC[Google Chat\nNotificacio]
  1. A n8n, crea un workflow amb Webhook node (mètode POST)
  2. copia la URL del webhook (amb la URL de ngrok)
  3. A GitHub → Repositori → Settings → Webhooks → Add webhook
  4. Enganxa la URL i selecciona els events (ex: Push)
  5. Quan hi hagi un push, n8n rebrà la notificació i la reenviarà a Google Chat

Miniactivitat ACN8N14

Configura ngrok i crea un workflow que: 1. Tingui un Webhook node (POST) 2. Rebi una petició de prova usant curl o Postman: curl -X POST https://[la-teva-url-ngrok]/webhook/[uuid] -H "Content-Type: application/json" -d '{"missatge": "Hola des de fora!"}' 3. Enviï el contingut del missatge a Google Chat (si tens acces) o el mostri a la sortida del node