Skip to content
NewSee how

Book meetings: connect a calendar to a campaign

Set a campaign goal to Meeting and attach a Google or Outlook calendar so the AI can offer real booking slots.

  1. Why Meeting and a calendar go together

    The Meeting goal makes the AI offer to book time with prospects, and that only works if it can pull real availability from a connected calendar.

  2. Set the campaign goal to Meeting

    In campaign settings, set the campaign Goal to Meeting ("Book meetings with prospects").

  3. Understand what the goal does

    The campaign goal determines which call-to-action is included in drafted emails. Change it any time in campaign settings.

  4. Find the required calendar picker

    In the drafter's Goal tab (or the settings Calendar section), find the picker labeled "Available calendars for booking" / "Calendars for meeting booking": it only appears for the Meeting goal, and it's required.

    Find the required calendar picker
  5. Connect a calendar if you don't have one

    If no calendar is connected yet, click Add calendar / Connect a calendar and authenticate via Google or Outlook OAuth.

  6. Tick the calendars the AI may offer

    Select at least one calendar in the picker: it's required for a Meeting campaign. You can tick more than one if bookings might land on different people's schedules.

  7. Save, test, and launch

    Save your changes, send a test email, and launch. Booking offers in your drafted emails now reference the calendar(s) you attached.

Pro tips

  • Connect the calendar before setting the goal

    That way the required picker already has something to select the moment you switch the goal to Meeting.

  • Only attach calendars you're comfortable exposing

    The AI can offer slots from every calendar you tick, so attach only the availability you're happy to share.

  • Switching goals hides the picker, not the connection

    The calendar requirement only applies while the goal is Meeting: switching away hides the picker but doesn't disconnect anything.

  • Multiple calendars are supported

    Useful when a meeting could land on more than one teammate's schedule: tick all that apply.

Frequently asked questions

What does the Meeting goal do?

It sets the call-to-action in drafted emails toward booking a meeting with the prospect.

Do I have to connect a calendar?

Yes: a calendar is required for any campaign using the Meeting goal.

Which calendars are supported?

Google and Outlook, connected via OAuth.

Where do I set the goal?

In campaign settings.

Where do I attach the calendar?

Either the drafter's Goal tab or the settings Calendar section: both show the same required picker when the goal is Meeting.

Can I attach more than one calendar?

Yes: tick as many as apply.

How do I actually connect a new calendar?

Click Add calendar / Connect a calendar and complete the Google or Outlook OAuth flow. See the calendar-connect tutorial for the full walkthrough.

Campaigns

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.