Tutorial · 10 min read
Take bookings on your site
Paste your Google Calendar or Calendly booking link into an agent, build once, and visitors pick a slot that lands in your own diary.
What you are setting up
By the end of this your published site has a booking section on it. A visitor picks a time, and the appointment appears in your own diary. You will paste one address to do it, and every site that agent builds from then on is wired to the same one.
The address is the whole connection. Grafter does not sign in to your Google or Calendly account and asks for no permission on it. We hold that one link and nothing else, which also means we never see a booking — it belongs to whichever of the two you used, exactly as it would if you had emailed somebody the link yourself.
Two tools in the library do this job: Google Calendar and Calendly embed. They sit together under Bookings & payments. Pick one.
Before you start
- An agent
- One of your own, on the Agents screen. Which face and name it wears makes no difference here.
- A booking page
- An appointment schedule in Google Calendar, or an event in Calendly. It is made in their product, not in ours.
- Its public address
- The one a stranger opens to book. Up to 200 characters, and it has to be on the provider's own domain.
- Credits for one turn
- Connecting is free. Putting the booking section on the site is an ordinary build turn and costs what any turn costs.
- A willingness to publish
- The booking form is only worth judging on the live site. The preview cannot show it properly, for a reason set out further down.
Note. Connecting a booking link is not connecting payments. Nothing on this page takes a deposit or charges a card.

Get the address of your booking page
This step happens in Google's product or in Calendly's, not in ours. Their menus are theirs and get renamed from time to time, so what follows describes the place rather than promising a label. What you are after does not move: the address a stranger opens to book a time with you.
Tip. Test the address before you paste it. Open it in a private window, where you are signed out of everything. If a stranger can see your free times and choose one, it is the right address. If it asks you to sign in, or shows your whole diary, it is not.
From Google Calendar
Google's booking feature is called appointment schedules. One schedule holds the length of the appointment, the hours you will take them, and everything else about how you are booked.
- Open Google Calendar on a computer.
- Make an appointment schedule, or open the one you already use.
- Use its share option and copy the booking page link.
- Check the address is on calendar.app.google or calendar.google.com. Those two are the only ones Grafter will accept.
Note. The hint under the field in Grafter puts it as appointment schedules, then share, then copy the booking page link. That was Google's wording when it was written. The address is the part that matters.
From Calendly
Calendly gives every event you set up a public address, and that address is what a person opens to book. It is the same one you would paste into an email.
Open the event you want people to book, copy its public address, and check it reads calendly.com followed by your name. If you are copying out of the browser bar, make sure you are looking at the page a visitor sees rather than your own signed-in screen.
Note. Grafter checks the domain and nothing else. Any address on calendly.com is accepted, booking page or not — so one copied from the wrong screen is stored without complaint, and the built site embeds a page nobody can book from. The private-window test above is what catches that.

Connect the link to your agent
Connections belong to an agent. They are not on your account and not on a site, so whichever agent you paste this into is the one that builds sites wired to it.
- Open Agents from the side of your dashboard and choose the agent you want to build with.
- Press + Add tools. If you are still in setup, the same library opens from + Add tool under Tools.
- Find Bookings & payments in the list, or type the name into the search box at the top.
- On the row for Google Calendar or Calendly embed, press Connect. One field opens underneath it.
- Paste your address and press Connect. If you left off the https:// it is added for you.
- The button changes to Connected and a dot appears beside the tool's name.
Tip. Connect one of the two, not both. With both switched on, the next build is told to include two booking sections, and that is exactly what you get.
Note. Connecting also adds the tool and switches it on — including switching one back on that you had turned off in an earlier session. There is no second button to press to make the link count. To change the address later, press Connected on the same row: the field reopens with the stored address in it, and Update and Disconnect underneath.

Build it into the site
A connection is a standing instruction for the next build. It does nothing to a site that already exists, and nothing at all on a turn built by anybody but that agent.
- Open the site you want the booking section on.
- Press the name beside the box you type into and choose your agent. If that name reads Grafter, the house builder is doing the turn, and it ignores every connection you have made.
- Ask for what you want in plain words — a booking section on the home page, or a booking page of its own.
- Read the booking section on the build that comes back, then publish it.
Tip. The preview runs your site sealed off from the rest of the web. A page embedded from another company will often be blank there, and the plain link cannot open at all. That is the preview rather than a bad build, and the published site is where it gets judged.
Note. The build is asked for the booking page embedded as the booking form, with a plain link to the same address beside it for browsers that refuse to show another site inside a frame. Two ways in, deliberately: if the embed does not appear, the link still works.

How to know it worked
There is only one test that counts, and it is not a green tick on our screen. Book yourself in.
- On the published site, open the booking section. The embedded page should be showing your own free times.
- Press the plain link beside it. It should open your booking page at the address you pasted.
- Book a slot yourself, using your own name so you know which one to cancel.
- Open Google Calendar or Calendly. The appointment is there, with whatever notification that provider normally sends you.
- Cancel it in the same place you found it.
- In Grafter, the tool's row reading Connected with a dot beside it confirms the link is stored. It confirms nothing about the site.
- Nothing arrives in Leads. Leads holds the messages people send from the contact form on your site, and a booking is not one of those.
- If the appointment is not in your diary, the booking did not happen, whatever the page said afterwards.

When the paste is refused
A link on the wrong domain is not stored. The refusal appears beside the field, names the tool and repeats the hint: that doesn't look right for Google Calendar, and so on. Nothing is saved, and nothing is charged.
The check is on the address alone. It cannot tell a booking page from any other page on the same domain, so an address being accepted is not the same as it being the right one. Only opening it signed out will tell you that.
| What you paste | What happens |
|---|---|
| An address on calendar.app.google or calendar.google.com | Accepted for Google Calendar. |
| Any address on calendly.com, or on a subdomain of it | Accepted for Calendly, whether or not it is a booking page. |
| The address with no https:// in front of it | Accepted. The https:// is added for you. |
| An address that starts http:// rather than https:// | Refused. |
| A shortened or forwarded link on any other domain | Refused, whatever it redirects to. Only the address you can see is checked. |
| A meeting link, or anything else on google.com | Refused. Only the two calendar addresses above. |
| Anything longer than 200 characters | Refused. |
Note. A refusal costs nothing. Connecting, disconnecting and switching tools on and off are all free — only sending a turn spends credits.

If the built site shows a placeholder instead of your link
This happens, and it is our fault rather than yours.
Every build goes out with one long instruction. Near the top of it is a rule against using any web address that is not already in the site's files. That rule exists for a good reason — it stops remembered image addresses ending up broken on a live site — and it is written as an absolute. Your booking link is added further down, described as the real one and told to be embedded. On the first build of a new site the link is not in the files yet, so the two sentences disagree, and which of them wins is not decided anywhere.
So the booking section sometimes comes back with a marked placeholder where your address should be. Read it before you publish.
- If the address is a placeholder, say the real one in your next message in plain words, and ask for it in the booking section.
- Once it is written into the files, later turns keep it. The rule that fought your link is the same rule that then protects it.
Note. We would rather tell you this than have you find it on a live site. It is a bug on our side, not a setting you have missed.

What this does not do
- It does not take money. A booking through it charges nothing and holds no deposit. Taking card payments is a separate connection with its own setup.
- It does not put bookings into Grafter. They live with Google or Calendly, we are never told, and there is no list of them here.
- It does not manage your availability. Hours, slot lengths, days off and cancellations are all set where the calendar lives — and changing them there needs no rebuild, because the site shows whatever your booking page is showing at the time.
- The Booking page tool is a different thing. It draws a page with slots and a confirmation screen, there is nowhere to connect a calendar to it, and nothing on it creates an appointment anywhere. Choose that one only if you want people to ask for a time that you will confirm yourself.
- It does not travel between agents. The link belongs to the one agent you pasted it into, and a second agent starts with nothing.

Common questions
- Do I need a Google or Calendly account?
- Yes, and the booking page has to be made there. Grafter holds the address and nothing else — there is no booking system of ours behind it.
- Does connecting cost credits?
- No. Connecting, disconnecting and switching tools on and off are free. The build that puts the booking section on the site is an ordinary turn, priced like any other.
- Can I connect both Google Calendar and Calendly?
- You can, but the next build is then told to include two booking sections. Connect the one your working diary is actually in.
- Will the booking section appear on my existing site on its own?
- No. A connection reaches a site only through a build turn with that agent chosen as the builder. Nothing changes on a site while you are on the agent screen.
- The booking form is blank in the preview. Is it broken?
- Probably not. The preview runs your site sealed off from the rest of the web, so a page embedded from another company usually will not load and the plain link cannot open. Publish it and look at the live site.
- Somebody booked and there is no record of it in Grafter.
- That is how it works. The appointment is in the calendar you connected, and we are not told about it. Check there, and check the address you pasted is the one you meant.