cosmolocal-website/n8n-workflows/README.md

2.7 KiB

Cosmolocal n8n Workflows

Import these JSON files into automate.cosmolocal.world via Settings > Import Workflow.

Setup Requirements

API keys are passed as Docker environment variables in docker-compose.yml (n8n community edition doesn't support Settings > Variables). The workflows access them via $env.VARIABLE_NAME.

Variable Description Where to find
TWENTY_API_KEY Twenty CRM API key crm.cosmolocal.world > Settings > API Keys
SMTP_USER Mailcow SMTP username e.g. ***REDACTED_EMAIL***
SMTP_PASS Mailcow SMTP password Mailcow admin panel at REDACTED_SMTP_HOST
LISTMONK_CREDENTIALS Listmonk user:pass Internal Docker service credentials

Email is sent via Mailcow SMTP (***REDACTED_SMTP_HOST***:587 STARTTLS). After importing workflows, create an SMTP credential in n8n named "Mailcow SMTP" with the host/user/pass above.

To set keys, create /opt/websites/cosmolocal-website/.env on the server and redeploy.

Workflows

01 — Contact Intake (Form to CRM)

Trigger: Webhook POST to /webhook/contact-intake Flow: Validate input > Create contact in Twenty CRM > Add note with message > Respond

Use this webhook URL in your website contact form:

https://automate.cosmolocal.world/webhook/contact-intake

POST body:

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "phone": "+1234567890",
  "message": "Interested in collaborating"
}

02 — Lead Nurturing (Welcome Email Sequence)

Trigger: Webhook POST to /webhook/new-contact-created Flow: Day 0: Welcome email > Day 3: Strategic priorities > Day 10: Ways to participate > Update CRM stage

Chain this from workflow 01 or call it when a new contact is created in the CRM.

03 — Newsletter Sync (CRM to Listmonk)

Trigger: Daily at 6:00 AM Flow: Fetch CRM contacts > Check if already in Listmonk > Create new subscribers

Syncs all CRM contacts with email addresses to Listmonk list #1. Adjust the list ID if needed.

04 — Follow-up Reminders (Stale Contacts)

Trigger: Weekly on Monday at 9:00 AM Flow: Fetch contacts > Filter those not updated in 14+ days > Email report to team

Sends an HTML table report to ***REDACTED_EMAIL*** with stale contacts and a link to the CRM.

05 — Webhook Events (Git to CRM)

Trigger: Webhook POST to /webhook/git-events Flow: Parse Gitea/GitHub event > Log as CRM note > Find or create contributor contact

Add this webhook URL to Gitea/GitHub repos:

https://automate.cosmolocal.world/webhook/git-events

Supports: push, issues, pull_request, star/watch events. Auto-detects Gitea vs GitHub from headers.