AutomationFlowsEmail & Gmail › Tribal Cowboy - Daily Brief

Tribal Cowboy - Daily Brief

Tribal Cowboy - Daily Brief. Uses httpRequest, gmail. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesHTTP RequestGmail
Email & Gmail Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Tribal Cowboy - Daily Brief",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 7 * * *"
            }
          ]
        }
      },
      "id": "schedule-brief",
      "name": "Daily 7am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "url": "https://tribal-cowboy-webhook.onrender.com/data",
        "options": {}
      },
      "id": "fetch-dashboard",
      "name": "Fetch Dashboard Data",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        460,
        220
      ]
    },
    {
      "parameters": {
        "url": "https://tribal-cowboy-webhook.onrender.com/voice-inquiries",
        "options": {}
      },
      "id": "fetch-leads-brief",
      "name": "Fetch Voice Leads",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        460,
        380
      ]
    },
    {
      "parameters": {
        "jsCode": "const dashData = $('Fetch Dashboard Data').item.json;\nconst leads = $('Fetch Voice Leads').all().map(i => i.json);\n\nconst ig = dashData.instagram || {};\nconst fb = dashData.facebook || {};\n\nconst newLeads = leads.filter(l => l.status === 'New').length;\nconst contactedLeads = leads.filter(l => l.status === 'Contacted').length;\nconst bookedLeads = leads.filter(l => l.status === 'Booked').length;\nconst totalLeads = leads.length;\n\nconst summary = `TRIBAL COWBOY DAILY BRIEF \u2014 ${new Date().toLocaleDateString('en-US', {weekday:'long', year:'numeric', month:'long', day:'numeric'})}\n\n\ud83d\udcf8 INSTAGRAM\n  Followers: ${ig.followers || 'N/A'}\n  Reach: ${ig.reach || 'N/A'}\n  Impressions: ${ig.impressions || 'N/A'}\n  Profile Views: ${ig.profile_views || 'N/A'}\n  Last Updated: ${ig.last_updated ? new Date(ig.last_updated).toLocaleString() : 'N/A'}\n\n\ud83d\udc4d FACEBOOK\n  Followers: ${fb.followers || 'N/A'}\n  Reach: ${fb.reach || 'N/A'}\n  Engagement: ${fb.engagement || 'N/A'}\n  Last Updated: ${fb.last_updated ? new Date(fb.last_updated).toLocaleString() : 'N/A'}\n\n\ud83d\udcde VOICE LEADS PIPELINE\n  Total Leads: ${totalLeads}\n  New (need follow-up): ${newLeads}\n  Contacted: ${contactedLeads}\n  Booked: ${bookedLeads}\n\n${newLeads > 0 ? '\u26a0\ufe0f  ACTION NEEDED: ' + newLeads + ' new lead(s) need follow-up today!' : '\u2705 All leads have been contacted.'}\n\n---\nLatest Leads:\n${leads.slice(0, 5).map(l => `  \u2022 ${l.caller_name || 'Unknown'} \u2014 ${l.service_requested || 'Service TBD'} \u2014 ${l.event_date || 'Date TBD'} \u2014 Status: ${l.status || 'New'}`).join('\\n')}`;\n\nreturn [{ json: { summary, newLeads, totalLeads, bookedLeads } }];"
      },
      "id": "build-brief",
      "name": "Build Daily Brief",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        700,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "info@tribalcowboy.com",
        "subject": "=\ud83e\udd20 Tribal Cowboy Daily Brief \u2014 {{ $now.toFormat('EEE MMM d') }}{{ $json.newLeads > 0 ? ' \u26a0\ufe0f ' + $json.newLeads + ' new lead(s)' : '' }}",
        "emailType": "text",
        "message": "={{ $json.summary }}"
      },
      "id": "gmail-brief",
      "name": "Email Daily Brief",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        940,
        300
      ]
    }
  ],
  "connections": {
    "Daily 7am": {
      "main": [
        [
          {
            "node": "Fetch Dashboard Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Voice Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Dashboard Data": {
      "main": [
        [
          {
            "node": "Build Daily Brief",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Voice Leads": {
      "main": [
        [
          {
            "node": "Build Daily Brief",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Daily Brief": {
      "main": [
        [
          {
            "node": "Email Daily Brief",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Tribal Cowboy - Daily Brief. Uses httpRequest, gmail. Scheduled trigger; 5 nodes.

Source: https://github.com/mrshuffhines-byte/tribal-cowboy-webhook/blob/94090e151cf99ff9720580a7aa652fe63ddd4f0b/n8n-workflows/09-daily-brief.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.

Gmail, Google Drive, Google Sheets +1
Email & Gmail

14310 Send Overdue Invoice Payment Reminders With Ifirma Gmail Postgrid And Slack. Uses httpRequest, stopAndError, slack, gmail. Scheduled trigger; 53 nodes.

HTTP Request, Stop And Error, Slack +1
Email & Gmail

Addendo — Blog Automatico Don Jacinto Nahual. Uses httpRequest, redis, github, gmail. Scheduled trigger; 51 nodes.

HTTP Request, Redis, GitHub +1
Email & Gmail

Addendo — Blog Automatico Don Jacinto Nahual. Uses httpRequest, redis, github, gmail. Scheduled trigger; 51 nodes.

HTTP Request, Redis, GitHub +1
Email & Gmail

Instead of providing a routine check, it focuses on significant movements by: Sending a Slack alert only if a query crosses a defined movement threshold. Emailing a structured report with the Top 25 i

HTTP Request, Slack, Gmail