Beginner~12 min setupCRM & EmailVerified April 2026
HubSpot logo
Gmail logo

How to Create HubSpot Tasks for Meeting Requests with Make

Automatically scan Gmail emails for meeting request phrases and create HubSpot tasks for the assigned sales rep.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

HubSpot Gmail extension exists as a native integration, but it requires manual setup per user and doesn't create contacts automatically. This guide uses an automation platform for full control. View native option →

Best for

Sales teams who need fast response to inbound meeting requests with proper task assignment

Not ideal for

High-volume email processing or teams without HubSpot Sales Hub Professional

Sync type

polling

Use case type

notification

Real-World Example

💡

A 12-person B2B SaaS sales team uses this to catch meeting requests from trial users who email their personal addresses instead of using the booking calendar. Before automation, reps missed 30% of these requests because they didn't check personal email during work hours. Now every meeting request becomes a task assigned to the account owner within 15 minutes.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

HubSpot account with Sales Hub Professional or higher for Tasks API access
Gmail account with API access enabled
HubSpot API key with tasks write permissions
Contacts already imported in HubSpot with email addresses

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task Titlehs_task_subject
Contact Emailemail
Task Statushs_task_status
3 optional fields▸ show
Task Bodyhs_task_body
Task Ownerhubspot_owner_id
Due Datehs_timestamp

Step-by-Step Setup

1

Scenarios > + > Gmail > Watch emails

Connect Gmail to Make

Set up Gmail as a trigger to watch for new emails. This monitors your inbox for incoming messages that might contain meeting requests.

  1. 1Click the + button to create a new scenario
  2. 2Click the ? icon and search for Gmail
  3. 3Select 'Watch emails' from the trigger options
  4. 4Click 'Create a connection' and authenticate with your Google account
What you should see: You should see a green Gmail module with 'Watch emails' selected and a connection established.
2

Gmail module > Settings

Configure email watching parameters

Set Gmail to monitor your inbox and limit the scope to avoid processing every email. Focus on unread messages to catch new meeting requests.

  1. 1Set 'Folder' to INBOX
  2. 2Check 'Process only unread emails'
  3. 3Set 'Maximum number of emails' to 10
  4. 4Leave 'From' and 'To' fields empty to catch all emails
What you should see: The Gmail module shows INBOX selected with unread-only processing enabled.
Common mistake — Don't set maximum emails above 20 — Make will time out processing large email batches.
Make
+
click +
search apps
HubSpot
HU
HubSpot
Configure email watching par…
HubSpot
HU
module added
3

Connection > Set up a filter

Add text detection filter

Create a filter that checks email content for meeting request phrases. This prevents the automation from firing on irrelevant emails.

  1. 1Click the wrench icon between Gmail and the next module
  2. 2Select 'Set up a filter'
  3. 3Set condition to 'Text contains'
  4. 4In 'Text' field, select Gmail > Plain text content
  5. 5In 'Pattern' field, enter: schedule a call|book a meeting|set up a time|arrange a meeting
What you should see: A filter icon appears on the connection line with your meeting phrases configured.
Common mistake — Use pipe symbols (|) not commas between phrases — Make treats commas as literal text to match.
HubSpot
HU
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Gmail
GM
notified
4

Gmail > + > HubSpot > Create a Task

Connect HubSpot

Add HubSpot as the action module to create tasks when meeting requests are detected. This requires admin permissions in HubSpot.

  1. 1Click the + button after the filter
  2. 2Search for and select HubSpot
  3. 3Choose 'Create a Task' from the actions list
  4. 4Click 'Create a connection' and enter your HubSpot API key
What you should see: A HubSpot module appears connected to Gmail with 'Create a Task' selected.
Common mistake — You need a HubSpot Sales Hub Professional plan or higher to use the Tasks API.
5

HubSpot module > Associated with

Extract sender email for contact lookup

Get the sender's email address to find the associated contact in HubSpot. This links the task to the right person.

  1. 1In HubSpot module, find 'Associated with' section
  2. 2Set 'Object type' to Contact
  3. 3Set 'Object ID search property' to email
  4. 4In 'Object ID search value', map Gmail > From (email)
What you should see: The association fields show Contact selected with email as the lookup property.
6

HubSpot module > Task details

Configure task title and description

Set up the task content to give your sales rep context about the meeting request. Include sender info and original email content.

  1. 1In 'Task title' field, enter: Meeting request from {{Gmail.From (name)}}
  2. 2In 'Task notes' field, enter: Email subject: {{Gmail.Subject}}\n\nMessage: {{Gmail.Plain text content}}
  3. 3Set 'Task status' to NOT_STARTED
  4. 4Set 'Task type' to CALL
What you should see: Task fields populated with Gmail data references and proper formatting.
Common mistake — Use double curly braces {{}} for dynamic content — single braces won't work in Make.

Drop this into a Make custom function.

JavaScript — Custom Function{{if(contains(lower(1.`Plain text content`); "urgent"); formatDate(now; "X"); formatDate(addDays(now; 1); "X"))}}
▸ Show code
{{if(contains(lower(1.`Plain text content`); "urgent"); formatDate(now; "X"); formatDate(addDays(now; 1); "X"))}}

... expand to see full code

{{if(contains(lower(1.`Plain text content`); "urgent"); formatDate(now; "X"); formatDate(addDays(now; 1); "X"))}}
7

HubSpot module > Owner ID

Set task assignment logic

Configure how tasks get assigned to the right sales rep. You can assign to contact owner or a specific user.

  1. 1In 'Owner ID' field, click the mapping icon
  2. 2Select 'Use a function' from the dropdown
  3. 3Choose 'Get contact owner' to assign to the contact's assigned rep
  4. 4Alternatively, enter a specific HubSpot user ID number
What you should see: Owner ID shows either a function to get contact owner or a specific user ID.
Common mistake — If the contact has no owner assigned, the task will be unassigned — set a fallback user ID to avoid this.
8

HubSpot module > Due date

Set task due date

Add a due date to ensure meeting requests don't get ignored. Set it to same day or next business day for urgency.

  1. 1Click in the 'Due date' field
  2. 2Select 'Use a function' > 'Date/Time functions'
  3. 3Choose 'Add days' function
  4. 4Set base date to 'now' and add 1 day
What you should see: Due date field shows a function that adds 1 day to current date.
9

Scenario footer > Run once

Test the workflow

Run a test to make sure emails are detected and tasks are created properly. Use a real email with meeting request language.

  1. 1Click 'Run once' at the bottom left
  2. 2Send yourself a test email with 'let's schedule a call' in the body
  3. 3Click the Gmail module to see if it captured the email
  4. 4Check the HubSpot module output for task creation confirmation
What you should see: Both modules show green checkmarks with data flowing from Gmail to HubSpot successfully.
Common mistake — The test email must be unread in Gmail when you run the scenario — mark it unread if needed.
Make
▶ Run once
executed
HubSpot
Gmail
Gmail
🔔 notification
received
10

Gmail module > Scheduling

Enable automatic scheduling

Turn on the scenario to run continuously. Set appropriate polling frequency to catch meeting requests quickly without burning operations.

  1. 1Click the clock icon on the Gmail module
  2. 2Set schedule to 'Every 15 minutes'
  3. 3Click 'OK' to save the schedule
  4. 4Toggle the scenario 'ON' using the switch at bottom left
What you should see: Gmail module shows a clock icon with 15-minute intervals and scenario status shows ON.
Common mistake — Don't set polling below 5 minutes — Gmail API has rate limits that will cause failures.

Scaling Beyond 100+ emails/day+ Records

If your volume exceeds 100+ emails/day records, apply these adjustments.

1

Batch email processing

Increase max emails per run to 50 and reduce polling frequency to every 30 minutes. This reduces total operations while maintaining reasonable response time.

2

Add pre-filtering

Use Gmail search operators in the trigger to only fetch emails from external domains. Internal emails rarely contain meeting requests and waste operations.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Make for this workflow

Use Make for this if you need precise control over email content detection and task assignment logic. Make's text filtering is more flexible than Zapier's — you can use regex patterns and complex conditions without coding. The visual scenario builder makes it easy to add fallback assignments and custom due date calculations. Skip Make if you're processing 1000+ emails daily — Pipedream handles high-volume email parsing better with its code-first approach.

Cost

This workflow uses 2 operations per detected email — one Gmail check and one HubSpot task creation. At 50 meeting requests per month, that's 100 operations monthly. Make's free tier includes 1,000 operations, so you're covered until you hit 500 requests monthly. The Core plan at $9/month gives you 10,000 operations. Zapier's equivalent starts at $20/month and N8n cloud costs $20/month for the same reliability.

Tradeoffs

Zapier beats Make on Gmail trigger reliability — their Gmail integration fires within 30 seconds while Make polls every 5+ minutes minimum. N8n offers better email parsing with built-in HTML-to-text conversion and attachment handling. But Make wins on HubSpot integration depth — you can assign tasks based on contact properties, territory rules, or round-robin logic without custom code. The visual mapping makes complex assignment rules manageable.

You'll hit Gmail API rate limits if you poll more than every 2 minutes or process batches over 20 emails. HubSpot's contact lookup fails silently when emails don't match existing contacts — add error handling or your tasks will be orphaned. The text filter is case-sensitive by default, so 'Schedule A Call' won't match 'schedule a call' unless you add the lowercase function.

Ideas for what to build next

  • Add Slack notifications for urgent requestsSend a Slack message to the assigned rep when emails contain 'urgent' or 'ASAP' along with meeting request phrases.
  • Create calendar blocking automationAutomatically block 30-minute slots on the rep's calendar when meeting request tasks are created to reserve time for the call.
  • Build meeting outcome trackingUpdate the original task with meeting notes and outcomes when calendar events are completed or rescheduled.

Related guides

Was this guide helpful?
HubSpot + Gmail overviewMake profile →