Make AI Agents (New)
Sales outreach AI agent use case
4 min
in this guide, you'll create a sales outreach agent step by step in {{product name}} your agent will watch your gmail for new emails labeled as leads analyze the email content to decide whether the lead is a potential sales opportunity research the lead with web scraping to learn more about the lead company qualify the lead based on the information gathered check your calendar availability for a meeting if the lead qualification score is high draft a personalized email to the lead sends the email draft to you on slack overview you'll follow these steps to build your agent build your ai agent scenario add tools test your ai agent finish with a slack module once you complete the steps, you'll have a sales outreach agent that you can use or extend further, depending on your goals prerequisites you must set up the following before you build your agent a gmail account with a label for lead emails called "leads" or similar a slack account with a private channel called "leads" or similar google calendar typically, an external system, such as a form or crm tool, would automatically send lead emails to your gmail for now, send yourself a sample email that looks like a typical lead inquiry and apply the "lead" label additionally, you'll use the instructions below when building your agent copy them now so you're ready to give them to your agent in step 1 instructions you are a lead qualification agent that autonomously processes inbound leads, researches companies, and drafts personalized responses with meeting proposals when appropriate input format you will receive sender email email address of the lead sender name name of the person who sent the email email subject subject line of the email email body content of the email thread id gmail thread id for threading available tools research tools research lead information research companies and gather intelligence meeting tools get free/busy information get user availability for next 7 days email tools create email draft create gmail draft response input to, subject, body (must be html format) critical this tool must always be called last in your workflow context you should always access your context to retrieve the knowledge of the kind of company we are and services we offer your workflow step 1 extract company domain extract the domain from sender email (everything after @) identify the company name from the domain extract sender name and relevant context from email body step 2 research the company (mandatory) call research lead information with the company domain gather information about industry and sector company size (estimated employees/revenue if available) products or services offered recent news, funding, or announcements potential pain points or business challenges technology stack or tools they use (if discoverable) step 3 qualify the lead analyze the gathered information and assign a qualification score high if 3 or more apply company in target industry significant company size or budget indicators recent funding or growth signals clear pain point matching your solution specific inquiry or clear intent in email medium if 2 apply relevant industry but unclear fit some budget indicators general inquiry without specifics limited information available low if most apply outside target industry very small company or individual generic or spam like inquiry no clear pain points minimal information available step 4 meeting worthiness assessment before proceeding, you must evaluate whether this lead warrants a meeting proposal consider propose a meeting if qualification score is high and clear business opportunity exists (budget signals, specific need, decision maker contact) and the inquiry is specific and actionable (not just information gathering) and there is explicit or implicit request for discussion/demo/call in the email and timeline indicators suggest near term decision making do not propose a meeting if qualification score is low generic inquiry with no specific needs mentioned information only request that can be handled via email student, academic, or research inquiry with no commercial intent sender appears to be in early exploration phase with no clear timeline red flags present (competitor research, spam patterns, unclear legitimacy) medium qualification without strong engagement signals meeting decision framework ask yourself "would i personally want to spend 30 minutes on this call based on the information available?" if yes proceed to get availability (step 5) if no skip to step 6 (no meeting proposal) step 5 get calendar availability (only if step 4 determined meeting is warranted) step 5a get calendar availability call get freebusy information to retrieve available time slots for next 7 days analyze the returned availability data identify 2 3 available 30 minute slots within business hours (10 am 5 pm berlin timezone) prefer slots in the next 3 5 business days avoid early morning (before 10 am) or late afternoon (after 4 30 pm) slots step 6 draft personalized email response prepare a personalized email response that acknowledges their specific inquiry or context from email body references specific company research (shows you did homework) addresses potential pain points discovered provides relevant value proposition includes clear call to action professional but warm tone around 250 words email structure greeting with name thank them and acknowledge their specific inquiry 1 2 sentences showing company knowledge brief value proposition relevant to their needs clear next step or call to action professional signature if meeting should be proposed (based on step 4 and 5) propose 2 3 specific available time slots from the calendar availability format "i have availability on \[day, date] at \[time] or \[day, date] at \[time] would either of these work for you?" frame it as a helpful suggestion for discussion keep tone flexible and accommodating if no meeting should be proposed provide helpful information or resources offer to schedule a call if they want to discuss further keep door open for future engagement step 7 create email draft call create email draft with to sender email subject re \[original email subject] body your drafted response in html format (including meeting time proposals if warranted) critical create email draft must be called for every lead html email formatting requirements when creating email drafts, format the body content in html with proper structure basic structure hi \[name], \[first paragraph content] \[second paragraph content] \[closing paragraph with call to action] best regards, \[your name] \[your title] html formatting guidelines wrap all content in and tags use inline css for styling (font family, font size, color, line height) use tags for paragraphs with proper spacing use for line breaks within paragraphs use for emphasis if needed keep styling professional and clean ensure proper closing tags for all elements important notes this is a fully autonomous workflow execute all steps without any user interaction always research the company before making any decisions apply critical thinking in step 4 not every lead deserves a meeting proposal base all decisions on objective criteria and available information keep email drafts personalized avoid generic templates when proposing meeting times, provide 2 3 specific options from available slots format meeting time proposals clearly with day, date, and time critical email body content must always be in html format critical create email draft must always be called for every lead reference specific details from the original email in your response draft work completely autonomously no confirmations or user interactions needed step 1 build your ai agent scenario to start building, sign in to {{product name}} and click create scenario at the top add a gmail trigger the gmail > watch emails module triggers the {{scenario singular lowercase}} where your agent lives it monitors your inbox for new emails and sends them to the agent to process further to add the gmail > watch emails module in the {{scenario singular}} builder, click the giant plus in the app search, search gmail , and select watch emails click the module to open its settings in connection , select an existing gmail connection from the dropdown or click add to create a new one in filter type , select simple filter in folder , select all mail in label , select the label you set up in gmail for lead emails, such as leads in criteria , select all messages in limit , specify the number of emails to return in each run, such as 5 or 10 in content format , select full content click save in the dialog, select the point in time from which to process your inbox data for example, to process only new emails from now on, select from now on once you test this {{scenario singular lowercase}} , you can choose when to start processing inbox data at any time right click the gmail > watch email and select choose where to start click the clock icon on the module to schedule the {{scenario singular lowercase}} in schedule settings , specify how often your {{scenario singular lowercase}} runs, for example, every day at 9 00 click save on the {{scenario singular}} toolbar click run once on the {{scenario singular}} toolbar to retrieve email data that you'll map this data in later modules you've now added the gmail > watch emails module to your ai agent {{scenario singular lowercase}} add a make ai agents (new) module next, add the make ai agents (new) > run an agent (new) module to your {{scenario singular lowercase}} click the plus icon next to the gmail > watch emails module search for make ai agents (new) and click run an agent (new) in the run an agent (new) module settings, in connection , select an existing ai provider connection from the dropdown alternatively, click add to create a new one in model , select a model in instructions , add the copied instructions from prerequisites to this field in input , copy the below input items and add them to the field these items are email data you want the agent to work on sender email "{{1 fromemail}}" sender name "{{1 fromname}}" email subject "{{1 subject}}" email date "{{1 internaldate}}" email body "{{1 fulltextbody}}" thread id "{{1 threadid}}" replace the placeholders between the quotation marks map the output values from the gmail > watch emails module that correspond to each input item once done, the inputs field looks like this toggle advanced settings in response format , select data structure from the dropdown in response structure , click add item in name , enter "draft mail id " in label , enter "mail id " in description , copy the following instructions and add them to the field they tell the agent to take the draft email id after creating the draft mail, you'll get back a json like { "draftid" "r7956931764211347721", "id" "19b46f571debca3f", "threadid" "19b46f571debca3f", "labelids" \[ "draft" ], "sysfolders" \[ { "id" "draft", "name" "draft" } ] } pass here the "id" item of the json in the example is "19b46f571debca3f" click save click save on the {{scenario singular}} toolbar you've now added the make ai agents (new) > run an agent (new) module to your {{scenario singular lowercase}} you'll finish the {{scenario singular lowercase}} with a slack module in a later step step 2 add tools your sales outreach agent uses three modules as tools google calendar > get free/busy information checks your calendar for your meeting availability make ai web search > generate a response researches the company associated with the lead email address gmail > create a draft email creates an email draft based on the content of the lead email add a google calendar module to add the google calendar > get free/busy information module to your agent hover over the plus icon on the run an agent (new) module and click add tool in the app search, search for and click google calendar select the get free/busy information module in the connection dropdown, select an existing google connection or create an new one in time range from , map the date value from the gmail > watch emails module this tells the agent to search your calendar for free slots after the email sent date in time range to , select let ai agent decide optionally, click add details and specify your preferred time range, for example, "within one month after the date " in calendars , select let ai agent decide click save click save on the {{scenario singular}} toolbar you've now added a google calendar > get free/busy information module to your agent add a make ai web search module to add the make ai web search > generate a response module to your agent hover over the plus icon on the run an agent (new) module and click add tool in the app search, search for and click make ai web search select the generate a response module in text , copy the following instructions and add them to the field research the company associated with the domain for the mail "{{1 fromemail}}" gather comprehensive lead qualification information including company basics official company name industry and sector company size (number of employees, revenue if available) headquarters location website and online presence business intelligence core products or services offered business model (b2b, b2c, saas, etc ) target market and customer base key differentiators or unique value propositions recent activity recent news, press releases, or announcements from the last 6 months funding rounds, acquisitions, or partnerships product launches or major updates leadership changes or company milestones signals and indicators growth signals (hiring, expansion, new offices) technology stack or tools they use (if discoverable) pain points or challenges mentioned in recent content budget indicators or financial health signals competitive context main competitors in their space market position or reputation any awards, recognition, or notable achievements focus on recent and relevant information that would help qualify this lead and personalize outreach prioritize facts over speculation replace the {{1 fromemail}} placeholder between the quotation marks map the from (email) output value from the gmail > watch emails module once done, the text field looks like this click save click save on the {{scenario singular}} toolbar you've now added the make ai web search > generate a response module to your agent add a gmail module to add the gmail > create a draft email module to your agent hover over the plus icon on the run an agent (new) module and click add tool in the app search, search for and click gmail select the create a draft email module in the connection dropdown, select an existing google connection or create an new one in to , map the output value from the gmail > watch emails module that corresponds to the sender address from (email) in subject and content fields, select let ai agent decide click save click save on the {{scenario singular}} toolbar you've now added the gmail > create a draft email module to your agent next, test how well the agent works so far step 3 test your ai agent now that you've added tools to your agent, run your {{scenario singular lowercase}} to test its performance to test your agent next to run once on the {{scenario singular}} toolbar, click the downward arrow in the scenario run dropdown , select a previous successful {{scenario singular lowercase}} run to use its email data as test data click the output bubble of the run an agent (new) module go to the reasoning tab to view the tools called and whether they were successful or returned errors if any tools returned errors, click their output bubbles to view outputs and identify the issue if needed, go back and change any relevant module settings run the {{scenario singular lowercase}} again with steps 1 2 until it runs without errors you've now tested your agent so it performs as expected next, finish with a slack > send a message module step 4 finish with a slack module to finish your ai agent {{scenario singular lowercase}} , add a slack > send a message module that sends the link to the email draft to your private slack channel for leads to add the slack > send a message module click the plus icon next to make ai agents (new) > run an agent (new) module in the app search, search for and click slack select the send a message module in connection , select an existing user slack connection or create an existing one in channel type , select private channel select the private slack channel that you created for leads in text , copy the following instructions and add it to the field this text includes a link to the email draft new lead draft mail from {{1 fromemail}} 🔗 < https //mail google com/mail/u/0/#drafts?compose = {{2 jsonresponse}} view drafted answer> replace the placeholders between the quotation marks {{1 fromemail}} map the from (email) output value from the gmail > watch emails module {{2 jsonresponse}} map the json response output value from the make ai agents (new) > run an agent (new) module once done, the text field looks like this click save click save on the {{scenario singular}} toolbar click run once to check whether you receive the message in your lead slack channel you've now added a slack > send a message module to your {{scenario singular lowercase}} you've now created a sales outreach agent that helps you qualify and contact leads