Partilhar: WhatsApp
aulify
UC UC02838 · T. Desenv. Software

Ficha 02 · Low-code avançado

Automação, Power Apps, n8n, deploy
Versão · Aluno
Tempo · 45 minutos
Aluno(a)
Turma
Data

Exercício 1 · n8n self-host

Instala n8n localmente via Docker. Verifica que abre na porta 5678 e cria utilizador admin. Tira screenshot da tela inicial.

Resposta:
# Pré-requisito: Docker instalado
docker run -d --restart unless-stopped \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

Verificar:

docker ps | grep n8n

Abrir http://localhost:5678 → criar conta admin (local, fica num ficheiro).

Screenshot: dashboard vazio com botão "Create new workflow".

Alternativa sem Docker:

npm install -g n8n
n8n start

Exercício 2 · Workflow webhook → Slack

No n8n cria workflow: - Trigger: Webhook node (POST, copia URL). - Action: Slack (ou Discord, ou email) → envia mensagem com o conteúdo do payload.

Testa com curl ou Postman.

Resposta:
  1. New workflow → adicionar Webhook node:
  2. HTTP Method: POST.
  3. Path: meu-test.
  4. Copy "Test URL".

  5. Adicionar Discord (mais fácil que Slack para teste):

  6. Criar Discord webhook num canal (Settings → Integrations → Webhooks → New → copy URL).
  7. No node Discord do n8n: HTTP Request com a webhook URL.
  8. Body JSON: {"content": "Novo evento: {{$json["mensagem"]}}"}.

  9. Activate workflow.

  10. Testar:

curl -X POST https://n8n.minha.url/webhook/meu-test \
  -H "Content-Type: application/json" \
  -d '{"mensagem":"olá mundo do n8n!"}'

Mensagem aparece no Discord.

Exercício 3 · Workflow Schedule → email diário

Cria workflow n8n que: - Trigger: cada dia às 9h (cron node). - Action: HTTP GET a uma API qualquer (ex: weatherapi para Lisboa). - Action: envia email com a temperatura.

Resposta:
  1. Schedule Trigger:
  2. Mode: Custom.
  3. Cron expression: 0 9 * * * (9h todos os dias).

  4. HTTP Request:

  5. Method: GET.
  6. URL: https://wttr.in/Lisbon?format=j1 (sem auth).
  7. Response Format: JSON.

  8. Email Send:

  9. SMTP credentials (Gmail app password ou outro).
  10. To: o teu email.
  11. Subject: Tempo hoje em Lisboa.
  12. Body: Temperatura: {{$json.current_condition[0].temp_C}}°C.

  13. Activate.

Resultado: emails diários automáticos com tempo.

Exercício 4 · n8n: Airtable → Slack notification

Workflow que dispara quando record é adicionado a Airtable e envia notificação ao Slack.

Resposta:
  1. Airtable Trigger node:
  2. Resource: Record.
  3. Event: When a record is created.
  4. Credentials: Airtable API key.
  5. Base ID + Table.
  6. Polls every X minutes.

  7. Slack node (ou Discord):

  8. Channel: #leads.
  9. Text: 🆕 Novo record: {{$json.fields.Name}}.

  10. Activate.

Alternativa Airtable: usar automações nativas Airtable → trigger "When record created" → action "Run script" ou "Send Slack message" (paid plan).

Exercício 5 · Zapier alternativo

Equivalente do exercício 4 mas em Zapier (free tier). Configura zap entre Airtable e Gmail.

Resposta:
  1. zapier.com → sign up free.
  2. Create Zap.
  3. Trigger: Airtable → New Record in View → conectar conta → escolher base + table + view.
  4. Action: Gmail → Send Email →
  5. To: o teu email.
  6. Subject: Novo lead.
  7. Body: Nome: {{name}}, Email: {{email}}.

Test → Publish.

Free tier: 100 tarefas/mês, 2-step zaps. Para produção: $20+/mês.

Comparação: - Zapier: mais fácil, UI mais polida, free tier muito limitado. - n8n: self-host gratuito, mais técnico, sem limites.

Exercício 6 · Bubble app + Stripe pagamento

Adiciona à app Bubble um botão "Comprar Premium €10". Integra Stripe (test mode) e demonstra pagamento de teste com cartão 4242 4242 4242 4242.

Resposta:
  1. Stripe: stripe.com → criar conta test mode.
  2. Dashboard → Developers → API keys → copy test publishable + secret keys.

  3. Bubble:

  4. Plugins → Add → Stripe (oficial).
  5. Configurar com test keys.

  6. Página:

  7. Adicionar Button "Comprar Premium - 10€".
  8. Workflow no click:

    • Plugins → Stripe → Charge user (sem subscription) ou redirect to Checkout.
    • Amount: 1000 (cêntimos = 10€).
    • Description: "Premium plan".
  9. Test:

  10. Cartão: 4242 4242 4242 4242.
  11. Expiry: qualquer futura.
  12. CVC: qualquer 3 dígitos.
  13. Pagamento processa em test mode.

  14. Webhook (opcional):

  15. Stripe webhook URL apontar para Bubble API workflow.
  16. Quando "payment_intent.succeeded" → marcar utilizador como premium na BD.

Exercício 7 · Power Apps + SharePoint

Se tiveres conta Microsoft 365 (ou trial), cria Power App canvas conectada a SharePoint list (cria uma list "Tasks" com Title + Status). Auto-gera app com 3 screens (browse, detail, edit).

Resposta:

Sem M365: trial em powerapps.microsoft.com.

  1. SharePoint (sharepoint.com da tua tenant):
  2. Site → New list → "Tasks".
  3. Columns: Title (default), Status (Choice: Todo/Doing/Done).
  4. Adicionar 3-5 records.

  5. Power Apps (make.powerapps.com):

  6. Apps → New app → Canvas.
  7. Start from data → SharePoint → escolher list.
  8. Auto-gera Browse/Detail/Edit screens.

  9. Customizar visualmente.

  10. Save → Publish → Share com colegas (mesma org).

  11. App acessível no browser ou app móvel Power Apps.

Vantagem killer M365: SSO automático, permissões SharePoint herdadas.

Exercício 8 · Mini-projecto integração total

Constrói sistema completo com: - Airtable: BD de leads. - Bubble (ou Webflow): landing page com form que escreve para Airtable. - n8n / Zapier: workflow que ao novo lead → email de boas-vindas + notificação Slack.

Demonstra todo o fluxo end-to-end.

Resposta:

Stack:

  1. Airtable "Leads": Nome, Email, Empresa, Mensagem, Data, Estado (New/Contacted/Won).

  2. Bubble:

  3. Página index com hero + form (Nome, Email, Empresa, Mensagem).
  4. On submit:
    • Opção A: API call directo a Airtable (POST /v0/BASE/Leads).
    • Opção B: Bubble grava em Bubble DB; n8n vê por polling.
  5. Show "Obrigado!" message.

  6. n8n workflow:

  7. Trigger: Airtable trigger (poll cada 5 min) - new record.
  8. Action 1: SendGrid / SMTP → email de boas-vindas ao Lead.
    • Subject: "Obrigado pelo contacto!"
    • Body: HTML personalizado.
  9. Action 2: Slack → mensagem no #sales.

    • "🆕 Novo lead: {{name}} ({{empresa}}) — {{mensagem}}"
  10. Test:

  11. Submeter form no Bubble.
  12. Verificar record entra em Airtable.
  13. Verificar email chega.
  14. Verificar mensagem no Slack.

Sistema completo (CRM + landing + automação) em 4-8 horas. Sem código tradicional.

Esta arquitectura é muito comum em startups early-stage e empresas pequenas sem dev dedicado.