🔎Check emails for exactly who a campaign emails next
- A campaign's Reach section now has a Check emails panel: pick the next 100, 300 or 500 prospects, see what it costs in credits first, and run it from the dashboard. It checks only the prospects that campaign is waiting on, shows its progress, and says how many can now be emailed. No more terminal.
📲Callbacks: you choose if the lead hears about it, and it names who will call
- When a rep saves a Callback after reaching someone, the wrap-up now asks "Text them a reminder", unticked. Unticked, the lead gets no text about it; ticked, they get one the day before and an hour before. A "Try again at" time after a no-answer never texts the lead.
- The reminder says who will call and when: "Brandon from 2gether Marketing will call you at 2:39 PM ET", in the lead's own time zone. An AI call a rep starts speaks for that rep too: "Brandon asked me to reach out", "Brandon will call you back".
- No more Meet link on a phone call. A generic reminder used to add the account's Meet room to every one-hour reminder, callbacks included. Now a Join link only goes with a video meeting; a callback reads as a call.
✍️Cold campaigns write themselves from each client's real facts
- A new Write it with AI panel writes all four cold emails and the booking page for any client, using only the facts and real results you confirm (for 2gether, the clients' latest monthly reports). Every number is checked against those facts, a second pass catches anything made up, and nothing is saved or sent until you review it. The old "free missed-lead audit" placeholder is gone.
🎧The live-call box no longer shows a finished call as live
- A laptop opened to a call box reading "LIVE CALL 1214:01 · Connecting…" for a call that went to voicemail and ended after 34 seconds the day before. The box only stopped when the server said "ended", and a box that was asleep when that came never heard it. Now a box that missed the end settles to "Call ended" on its own, says it ended while the screen was away, and shows the after-call summary.
- The call timer stops when the call ends and reads hours properly (20:14:01, not 1214:01). The minimized call pill says "Call ended", "End call" on a call that is already over says so, and the box shows the AI name of the client open in that tab, not another tab's.
🔓Cold Outreach opens for the 2gether team
- Starting a cold campaign said "This client isn't assigned to your admin account" to every admin, owners included, so no campaign, sender pool or inbox list could be set up. A shared access check was never connected to the page. Now it is: the 2gether team can build cold campaigns, owners can see the platform-wide unsubscribe list again, and staff accounts see only the clients they are assigned to.
👋Cold emails never open with a stray "there,"
- When we don't have a prospect's name, a cold email now opens "Hi there, …" instead of "there, …". Prospects with a name still get it ("Maria, …").
📅A visit with no set time says so, instead of showing noon
- When a lead picks a day but no time ("Sunday"), the lead's timeline now reads "Sun, Oct 11, no set time", or the part of the day they named, instead of a 12:00 PM nobody agreed to.
- Dates on the lead's project details read as dates ("Sun, Oct 11, 2026"), not raw timestamps.
🎯Your own booking page reports to Meta like every other lead source
- When someone books on the business's own booking page, the ad click comes with them, and Meta gets the Lead from our server and from the business's pixel, counted once.
- The page fires the business's pixel too: a page view when it opens, Schedule when they book, Lead when they're new. A business with several calendars keeps the click on every link out of its chooser page.
🗓️Dating an approved post on the organic calendar actually queues it
- Putting a date on an approved post saved the date but never queued it, so a client's designed posts could sit on the calendar looking ready and never go live. Now dating it queues it, when the client's auto-post switch is on.
- Approvals has a new Pipeline tab: what posted in the last 7 and 14 days, what's scheduled, drafts that are stuck and posts that are overdue, by client.
📣Two finished pieces from the backlog: the ad's display link, and phone-free insurance end cards
- On a creative's page the team can now set the Ads Manager display link, the short web address shown under a website ad. It has to match the landing page's domain, shows on the task page and the queue card, and goes to Meta with the launch.
- Insurance clients' briefs, refresh specs and video scripts no longer tell the designers to print the phone on the end card. Those ads open a quiz, so the end card is the logo and the button; a Call ad still shows its number.
🛠️"Don't post" works on long-running calendars; Call buttons call from a computer
- Rejecting a post on a content calendar that has run past 60 weekdays (a summer calendar, by late October) answered "Could not reject post". Don't post and its Undo work again, and so does the team's "regenerate this post" on those days.
- The Call button on an appointment and the phone number on the lead card were phone-only links that did nothing on a computer. They now open the call box: call from the browser, from your line, or copy the number. On a phone they still go straight to the dialer.
- The rest followed: every phone number and Call link on the dashboard now opens the call box on a computer, including Activity, owner alerts, the Jobs schedule, shop orders, Reviews and Discovery prospects. A number that isn't a lead yet shows with Copy.
🔗Your own booking link is the default everywhere, with a page to manage them
- Wherever the AI hands out a booking link (texts, chats, Messenger, email buttons, the site's Book Now, Google posts), it now hands out the business's own scheduling page, unless the owner uses an outside scheduler like Calendly. The agency's own Book a Call buttons left GHL too.
- Calendar → Booking links: one row per calendar with its link, Copy, a QR code, Open, Edit, On/Off and Delete. New booking link makes a live link in one step.
- Small polish on that page: the title reads as words, and Escape closes its dialogs.
📅Your own booking link, like GHL's, on 2gether AI
- Every business now has a booking page of its own: a month with the open days live, the day's times in the visitor's own time zone, four fields, then "You're booked" with Add to Google Calendar and a link to move or cancel. The times come from the same calendar your AI and Smart Intake book against, so a slot is never offered twice.
- A booking there is a real booking: the visitor becomes a lead, the appointment lands and confirms the way your account confirms, reminders arm, the calendar event pushes, the team gets the booked alert, and "Adam Calls New Leads" can call them right after they book.
- Move or cancel without calling — the confirmation's manage link offers new times from the live calendar. Settings → Scheduling lists your live links with Copy.
🧩Columns of your own on the pipeline, each one telling the AI what it means
- Customize your board → Add a column of your own: name it, pick what it means to the AI (Ready, Booked, … or nothing), save. Rename, reorder, hide or remove it like any other column. Renaming never changes the meaning, so the AI's data stays clean.
- The 2gether AI board is off GoHighLevel: same columns and lanes, nothing reads or writes GHL any more, and it takes columns of its own like every other board.
- The AI's own calls now file the lanes before Booked ("called · talked", "· voicemail", "· no answer"), a card dropped on a lane leaves a note on the call it logs, and phones show the same three lanes and the call line on every card.
📞The Calls tab tells the truth about every call
- "Needs a call back" clears from a call-back made from your cell, the shop phone or the GHL app, from a later call by the same person, or with Mark as handled — and the banner counts exactly what the badge counts. A missed call from one of your own numbers is never a call-back to make.
- Every recorded team call gets its AI summary, in the background, whether or not anyone is looking; a bare call row says why there is nothing ("not recorded — recording was off"). Outcome and notes can be added to a call you answered, after the fact.
- A missed call with no voicemail texts the team three minutes later with a call-back link. A caller's voicemail words live on the call itself, no call is left "ringing", an AI pickup shows once, any phone format finds its lead, and the lead card and the Calls tab agree on whose dials show.
☎️On a call, your AI moves or cancels the appointment — and tells the truth
- A caller who already has an appointment can move or cancel it on the phone; the new time is checked against real availability exactly like a booking, reminders and the calendar follow, and you hear about it.
- Truthful about why nobody can pick up. Your AI never invents "they're with a client" or claims someone told it; the only true answers are that nobody could pick up right now, or that you're closed.
- A booking can start the AI call: when a prospect books on a calendar you have allowed, the AI calls them right after — opening on the booking they just made — and the Strategy Call calendar is linked to 2gether AI again.
📵Voicemail: your AI leaves its message, even when the phone rings out
- A phone that rang out before voicemail picked up used to get the AI's opener ("you free for a sec?") recorded, then silence, and the call showed as "talked". The detector now listens through a full ring-out and waits for the beep, so your AI leaves its short message and hangs up.
- A call that only ever heard a recorded greeting counts as a voicemail whatever the phone system called it — so the "left you a voicemail" text, your alert and the second attempt all fire. And if a greeting keeps talking, your AI knows it is a recording: one short line, then it ends the call.
🔁Wrap-up: "Did you reach them?" is required, and Save & call again
- After Callback the wrap-up will not save until "Did you reach them?" is answered — No files the call as no answer and keeps the retry time. When the outcome is No answer, Busy or Voicemail, Save & call again logs the call and dials the same number straight away, without advancing the Power Dialer.
🧭The growth plan sequence and its reminders only follow a call the prospect booked
- The prep question, Josh's pre-call brief and the SHOW / NO SHOW check only run for a call the prospect booked — the landing page, a calendar booking, or a time agreed with the AI. A rep's dialer Callback or a logged appointment never starts it; two that had already queued went quiet on deploy.
- The reminders follow the same rule. A prospect a rep had only cold-called got "Josh will be ready for you in about an hour. Join here…" for the rep's own callback note. Now a rep's callback never sends the lead a confirmation or a 24-hour / 1-hour reminder, and the ones already queued went quiet too.
🎙️Thirteen Grok voices, each with a sample you can play
- Settings → AI now lists 13 Grok voices — six female, seven male — next to the voices you already had. Pick one and every call your AI makes or answers speaks in it, and it starts talking about a third of a second sooner.
- Every voice has a ▶ sample right in the picker, and each "Test on me" recording names the voice it used, so you can compare two side by side in Hear your AI.
- Nothing changes unless you choose one: your saved voice and the defaults stay exactly as they were.
📞On the phone, your AI checks the calendar and books the time
- On a real call your AI now checks your actual open times and books the appointment right there. It offers two slots that fit your hours and booking types, books the one the caller picks, and never says “booked” before it is. The visit lands in your pipeline, the caller gets the “you're all set” text and reminders, and you get the same alert a self-booking sends.
- Your AI on a call used to tell the caller about a booking link nobody can tap. If your account has no booking types or hours set up, it now asks what day and time works, takes it down, and says you'll confirm — the link can follow by text as a backup.
- Consultations and strategy calls get the same treatment as in-person visits, and the address and hours are only read out when someone is actually coming in. Texting is unchanged — there, the link is right.
🗂️Drop a pipeline card on a column name
- Dragging a card across a wide board meant nudging it pixel by pixel. Now a bar over the board lists every column while you drag — drop on a name and the card moves — and holding a card near an edge scrolls the strip. Won and Lost still ask why.
- The call wrap-up asks, after Callback, "Did you reach them?" — No files it as no answer and keeps the retry time. No answer, Voicemail and Busy get an optional "Try again at", and a scheduled callback now shows on the card ("Call back Tue 2:30 PM").
- Where a board's first lanes are filed by calls (Not called yet · Not reached yet · Talking), a Callback under a minute counts as a retry, a lead who called in and got a person counts as Talking, and you can move a card into those lanes by hand.
🧠Text your AI a screenshot and it reads it
- A screenshot or document you text your AI is now read and answered, not filed in your photo library or mirrored into Studio with a "saved as general" receipt. A real job photo is still saved, and your AI can see it while it answers you.
- One text, one answer. Your AI's real reply no longer loses out to the "saved the photo" receipt, and the same text arriving twice no longer earns "Already handled" four times — that's only for a text you genuinely re-send.
🛡️A changed AI number hands its leads over
- If your AI's texting number changes, leads on the old one move to the live number on their next text, and a reply to the retired number no longer counts as a stray thread. One account's saved number wasn't the one its leads were texting; it is now.
🔇Silent-bot alerts stop repeating
- The team's silent-bot alert now texts once when a bot goes quiet and once when it's back, not again after every update — and accounts that aren't live yet no longer set it off.