連接 Google Calendar

把你的 Google 行事曆和微象接起來:Google 上已經忙碌的時間會自動從公開預約頁擋掉,微象裡確認的預約也會自動寫進你指定的那本行事曆。本文說明連接、選行事曆、設定緩衝,以及日後斷開連線的完整步驟。

連接之後有兩件事會自動發生,方向相反:

Google → 微象:你在 Google 上已經有安排的時段,會從你的公開預約頁擋掉,客人約不到。 微象 → Google:微象裡「已確認」的預約,會自動寫成你指定那本行事曆裡的活動。

微象仍然是預約的唯一主資料。Google 上的活動只是副本——在 Google 那邊改動或刪掉它,下次核對時會依微象的資料還原回去。

開始之前

這是跟著你本人的連線,不屬於任何一家工作室。你在自己店裡和在別家當客席接的班,都用同一份連線判斷。 只有你本人能連接、選行事曆、查看狀態與斷開。店主看不到你的 Google 帳號、行事曆名稱,也看不到任何時段內容。 微象只會保存忙碌時段的起訖時間,不會讀取或保存你外部活動的標題、參與者或內容。 這個功能所有方案都可以使用,不需要升級。 連接 Google Calendar 和「用 Google 登入微象」是兩回事。用 Google 登入不會給微象行事曆權限,這裡也不會改變你的登入方式。

第一部分:連接 Google 帳號

1. 打開微象,點右下角「設定」。

2. 在「行事曆」區塊點「Google Calendar」。

3. 點「連接 Google 帳號」。

畫面會跳到 Google 的授權頁。

4. 在 Google 的頁面選擇你要連接的帳號,確認要授權的項目後同意。

授權完成會自動回到微象的同一頁。頁面上會顯示「已連接」以及你剛才授權的 Google 帳號,請確認那正是你要的帳號。

中途改變主意可以直接取消,取消不會影響你原本的設定。

第二部分:選擇行事曆

連接成功後,同一頁下方會列出這個 Google 帳號裡的行事曆。

5. 在「忙碌來源」勾選一本或多本行事曆。

這些行事曆上被 Google 判定為忙碌的時段,會擋住你的公開開放時段。可以複選——例如同時勾選「私人」和「另一份工作」,兩邊的行程就會一起生效。

只讀權限的共用行事曆也可以當忙碌來源。標示為「有空/Free」的活動、以及「工作地點」不會擋時間,這是 Google 自己的規則,微象照著走。

6. 在「預約寫入行事曆」指定一本行事曆。

這是微象要把已確認預約寫進去的地方,只能選一本、而且必須是你本人擁有的行事曆。

如果你還沒有適合的行事曆,點「建立「微象預約」」,微象會直接在你的 Google 帳號裡建一本新的。

「預約寫入行事曆」可以和「忙碌來源」是同一本。這樣做的話,你自己在那本行事曆上的其他活動照樣會擋時間,但微象自己寫進去的預約不會反過來擋自己。

7. 設定「外部行事曆緩衝」的前置與後置分鐘數。

前後各自可設 0–240 分鐘,預設都是 15 分鐘。這是留給準備與交通的時間:Google 上一段 14:00–15:00 的忙碌,若前後各設 30 分鐘,實際會擋掉 13:30–15:30。

前置與後置分開設定,是因為出門前和結束後需要的時間常常不一樣。這個緩衝是外部忙碌的最終擋掉範圍,不會再疊加店內的預約間隔。

8. 點「儲存行事曆設定」。

儲存後微象會立刻向 Google 取一次忙碌時間,保護馬上生效。

第三部分:確認保護正常運作

儲存完成後,同一頁會顯示兩組狀態:

忙碌時段保護:正常時顯示「忙碌時段保護正常」,並附上「上次成功更新忙碌時段」的時間。只要在 15 分鐘內,Google 的忙碌時段就會確實擋住公開預約。 預約寫入:正常時顯示「預約寫入運作正常」。剛連接時會自動補寫未來一年內既有的已確認預約,所以第一次可能會看到「正在補寫」跑一陣子。

如果超過 15 分鐘沒有成功更新(例如 Google 暫時連不上、或授權被撤銷),微象會停止使用過期的忙碌資料,公開預約頁照常開放。這是刻意的:一個輔助的行事曆整合不應該讓整個預約頁停擺。此時頁面會顯示「忙碌時段保護已過期」或「忙碌來源授權已失效」,請回來重新連接。

之後會自動發生的事

新的已確認預約會寫進你指定的行事曆,標題是「客戶姓名・服務名稱」,地點是工作室地址,說明裡有一條可以點回微象的連結。客人不會被加入為參與者,也不會收到 Google 的邀請信。 改期會更新同一個活動,不會多出一筆。取消或刪除會把活動移除。完成或未到則維持原狀,留下歷史紀錄。 活動一律標為私人,提醒沿用該行事曆本來的設定。 客人的電話、Email、LINE、身體紀錄與任何私人備註,都不會寫進 Google。

如果之後出現「行事曆衝突」

已經成立的預約,如果和後來才取得的外部忙碌時段重疊,微象會標記為「行事曆衝突」,推播通知你,並在該筆預約詳細與這一頁持續顯示。

微象不會自動取消或改期,也不會通知客人——要怎麼處理由你決定,處理完(改期、取消或忙碌時段消失)衝突會自動解除。

如果你原本就有訂閱微象的預約行事曆

微象原本的 ICS 訂閱 feed 是另一個功能,兩者可以並存,但同一筆預約會出現兩次。

這一頁會提醒你這件事,並提供「只停用微象訂閱 feed」。要注意:停用後仍需自行到 Google Calendar 移除那個訂閱,既有的活動才不會繼續顯示——微象沒辦法代你移除別人行事曆裡的訂閱。

斷開連線

到這一頁最下方,點「斷開連線」,確認兩次即可。

斷開之後:

Google 的忙碌時間立刻停止擋你的開放時段,不用等 15 分鐘。 新的預約不會再寫進 Google。 已經建立的活動預設會留著,由你自己決定要不要處理。微象裡的預約完全不受影響。

如果你希望連未來的副本也一起清掉,勾選「順便刪掉未來的外部行事曆活動」再斷開。它只會刪微象自己寫進去、而且還沒發生的那些,你自己建立的活動一律不動。

如果有活動沒刪成功,畫面會告訴你還剩幾個,並讓你「再刪一次」或「保留活動並斷線」。此時連線與設定都還沒有改動——這是刻意的,你才有真正的選擇。也因為連線還在,那幾個沒刪掉的活動可能會在斷線完成前被自動補回來。

刪除整個微象帳號時,授權會自動撤銷、行事曆相關資料一併清除,就算當下連不上 Google 也不會卡住刪帳號。

常見狀況

點「Google Calendar」進去顯示暫時無法使用。 表示這個功能目前在你的帳號上還沒開放,或伺服器設定尚未完成。這不是你的操作問題,稍後再試或與我們聯絡。

授權完成回來卻顯示失敗。 最常見的原因是授權頁停留太久(連結有 10 分鐘的有效期),或是同一個連結被重複開啟。回到這一頁重新點「連接 Google 帳號」即可。

公開預約頁還是看得到我在 Google 上已經有事的時段。 先確認那本行事曆有被勾進「忙碌來源」,再確認該活動在 Google 上是「忙碌」而不是「有空」。若頁面顯示「忙碌時段保護已過期」或「忙碌時段暫時無法更新」,代表目前正處於暫停保護的狀態,請重新連接。

預約沒有出現在 Google。 只有狀態為「已確認」的預約才會寫入;還在等待確認的預約不會。由匯入來源建立的預約也不會寫回去。剛確認的預約會在背景寫入,稍等一下再看。

Connect Google Calendar

Link your Google calendar to SomaTrace so time you are already busy is removed from your public booking page, and confirmed appointments are written into a calendar you choose. Covers connecting, choosing calendars, setting buffers, and disconnecting later.

Once connected, two things happen automatically, in opposite directions:

Google → SomaTrace: time you are already committed to in Google is removed from your public booking page, so a visitor cannot choose it. SomaTrace → Google: confirmed appointments are written as events into the calendar you nominate.

SomaTrace remains the single source of truth for bookings. The Google event is only a copy — editing or deleting it in Google is restored from SomaTrace on the next reconciliation.

Before you start

This connection follows you personally, not a studio. It applies to work in your own studio and to every studio where you are a guest practitioner. Only you can connect, choose calendars, check status, or disconnect. A studio owner cannot see your Google account, your calendar names, or any of your time. SomaTrace stores only the start and end of busy periods. It never reads or keeps the title, attendees, or content of your external events. This feature is available on every plan. There is nothing to upgrade. Connecting Google Calendar is separate from signing in to SomaTrace with Google. Signing in does not grant calendar access, and this does not change how you sign in.

Part one: connect your Google account

1. Open SomaTrace and tap Settings.

2. Under the "Calendar" section, tap "Google Calendar".

3. Tap "Connect Google account".

You are taken to Google's authorization page.

4. On Google's page, choose the account you want to connect, review what is being requested, and approve.

You return to the same SomaTrace page, which now shows "Connected" and the Google account you authorized. Check that it is the account you intended.

You can cancel partway through. Cancelling leaves any existing setup untouched.

Part two: choose your calendars

Once connected, the same page lists the calendars in that Google account.

5. Under "Busy sources", select one or more calendars.

Time that Google marks as busy on these calendars will block your public availability. You can select several — a personal calendar and another job's calendar, for instance, so both are taken into account.

A shared calendar you can only read still works as a busy source. Events marked Free, and Working Location entries, do not block time. That is Google's own rule and SomaTrace follows it.

6. Under "Appointment calendar", nominate one calendar.

This is where SomaTrace writes confirmed appointments. You may pick only one, and it must be a calendar you personally own.

If you do not have a suitable one, tap Create "微象預約" and SomaTrace creates a new calendar in your Google account.

The appointment calendar may be the same calendar as a busy source. If it is, your own other events there still block time, but appointments SomaTrace wrote do not block themselves.

7. Set the before and after "External calendar buffers".

Each side takes 0–240 minutes and defaults to 15. This is preparation and travel time: with 30 minutes on each side, a 14:00–15:00 commitment in Google actually removes 13:30–15:30 from your availability.

Before and after are set separately because the time needed to get somewhere and the time needed afterwards are rarely the same. This buffer is the final exclusion for external busy — your studio's own appointment gap is not added on top.

8. Tap "Save calendar settings".

SomaTrace fetches your busy times from Google immediately on save, so protection starts right away.

Part three: check that protection is working

After saving, the same page shows two states:

Busy protection: reads "Busy protection is healthy", with the time of the last successful busy update. As long as that is within 15 minutes, Google busy time reliably blocks public booking. Appointment export: reads "Appointment export is working". On first connection SomaTrace backfills existing confirmed appointments for the year ahead, so you may see it working through them for a while.

If more than 15 minutes pass without a successful update — Google unreachable, or authorization revoked — SomaTrace stops using the stale data and your public booking page stays open. That is deliberate: an auxiliary calendar integration should not be able to take your whole booking page down. The page then reads "Busy protection is stale" or "Busy-source access was revoked"; come back and reconnect.

What happens automatically from then on

Newly confirmed appointments are written to your chosen calendar. The title is "client name・service name", the location is the studio address, and the description links back to the appointment in SomaTrace. Your client is not added as an attendee and receives no Google invitation. Rescheduling updates the same event rather than creating another. Cancelling or deleting removes it. Completed and no-show appointments are left as they are, so your calendar keeps the history. Events are always marked private, and use whatever reminder settings that calendar already has. Your client's phone, email, LINE identity, body records, and any private notes are never written to Google.

If a "calendar conflict" appears later

If a confirmed appointment turns out to overlap external busy time that arrived afterwards, SomaTrace flags it as a calendar conflict, sends you a push notification, and keeps showing it on the appointment and on this page.

SomaTrace does not cancel or reschedule anything automatically, and your client is not notified — how to handle it is your call. Once you have (by rescheduling, cancelling, or once the busy time disappears) the conflict clears itself.

If you already subscribe to the SomaTrace booking calendar

The older ICS subscription feed is a separate feature. Both can run at once, but the same appointment will then appear twice.

This page warns you about that and offers "Disable SomaTrace feed only". Note that you still need to remove the subscription in Google Calendar yourself for the existing events to stop showing — SomaTrace cannot remove a subscription from someone else's calendar.

Disconnecting

At the bottom of the page, tap "Disconnect" and confirm twice.

After disconnecting:

Google busy time stops blocking your open slots immediately, not after 15 minutes. New appointments are no longer written to Google. Events already created stay by default, for you to handle as you see fit. Your SomaTrace bookings are entirely unaffected.

If you would rather clear the future copies out too, tick "Also delete future SomaTrace events" before disconnecting. That deletes only events SomaTrace created that have not happened yet — anything you created yourself is left alone.

If some events cannot be deleted, the screen tells you how many are left and offers to try again or to keep them and disconnect anyway. Nothing has been torn down at that point — deliberately, so the choice is real. And because the connection is still live, any events already deleted may be recreated before you finish disconnecting.

Deleting your SomaTrace account revokes the authorization and clears all calendar data automatically. It succeeds even if Google is unreachable at the time.

Common situations

Tapping "Google Calendar" shows a temporarily unavailable message. The feature is not yet enabled for your account, or server setup is incomplete. This is not something you did wrong — try again later or contact us.

Authorization completes but comes back as failed. Usually the authorization page sat open too long (the link is valid for 10 minutes), or the same link was opened twice. Return to this page and tap "Connect Google account" again.

My public page still offers time I am busy in Google. Check that the calendar is ticked under "Busy sources", and that the event is marked Busy rather than Free in Google. If the page reads "Busy protection is stale" or "Busy protection could not update", protection is currently paused — reconnect.

An appointment did not appear in Google. Only confirmed appointments are written; ones still awaiting confirmation are not. Appointments created from an import are not written back either. A newly confirmed appointment is written in the background, so give it a moment.