> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parsalink.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Workspace

> Connect Google Calendar, Gmail, Drive, Docs, and Meet to ParsaLink for a seamlessly integrated workflow.

<div
  style={{
background: "linear-gradient(135deg, #143D4E 0%, #1C758A 100%)",
color: "#FFFFFF",
fontSize: "11px",
fontWeight: "700",
marginBottom: "24px",
padding: "6px 16px",
letterSpacing: "1px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px",
boxShadow: "0 4px 12px rgba(20,61,78,0.2)"
}}
>
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style={{ marginRight: "4px" }}>
    <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z" fill="currentColor" opacity="0.9" />

    <path d="M12 6v6l4 2" stroke="#FFFFFF" strokeWidth="1.5" fill="none" />

    <circle cx="12" cy="12" r="9" stroke="#FFFFFF" strokeWidth="1.5" fill="none" />
  </svg>

  Google Workspace
</div>

## Overview

<div
  className="bg-white dark:bg-black dark:text-slate-200 dark:border-white/20 [&_*]:dark:text-slate-200 [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "28px",
color: "#212121,",
boxShadow: "0 2px 8px rgba(0,0,0,0.02)"
}}
>
  The Google Workspace integration connects ParsaLink to your Google account, enabling calendar sync, email logging, document access, and automatic Meet link generation.
</div>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M20 7L9 18L4 13" stroke="#1C758A" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" />

    <circle cx="20" cy="7" r="1.5" fill="#1C758A" />
  </svg>

  Setup
</div>

## Connecting Google Workspace

<div
  className="bg-white dark:bg-black dark:text-slate-200 dark:border-white/20 [&_*]:dark:text-slate-200 [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "16px",
color: "#212121 ,#FFFFFF"
}}
>
  1. Go to <strong style={{ color: "#1C758A" }}>Settings → Integrations → Google Workspace</strong>.
  2. Click <strong style={{ color: "#30C8CA" }}>Connect with Google</strong>.
  3. Select the Google account to connect.
  4. Review the requested permissions and click <strong>Allow</strong>.
  5. After authorization, configure the sync settings (see below).
</div>

<Note>
  Each team member connects their own Google account individually. The workspace admin cannot connect on behalf of other users.
</Note>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <rect x="3" y="4" width="18" height="16" rx="2" stroke="#1C758A" strokeWidth="1.6" />

    <line x1="8" y1="2" x2="8" y2="6" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />

    <line x1="16" y1="2" x2="16" y2="6" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />

    <path d="M3 10H21" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />

    <circle cx="12" cy="15" r="1.5" fill="#1C758A" />
  </svg>

  Calendar
</div>

## Google Calendar

### What Syncs

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF] dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "16px",
color: "#212121 ,#FFFFFF"
}}
>
  * <strong>ParsaLink → Google:</strong> Events created in ParsaLink appear in your connected Google Calendar within seconds.
  * <strong>Google → ParsaLink:</strong> Events created in Google Calendar (with external attendees who are CRM contacts) are imported into ParsaLink and logged on those contacts' activity timelines.
  * <strong>Busy time:</strong> Your Google Calendar busy times block those slots from appearing in your booking link availability.
</div>

### Configuration

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF]:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "16px",
 color: "#212121 ,#FFFFFF"
}}
>
  After connecting, select which Google Calendar to sync with (if you have multiple calendars in your Google account).
</div>

### Google Meet Links

<div
  className="bg-white dark:bg-black dark::text-[#FFFFFF]dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "28px",
 color: "#212121 ,#FFFFFF"
}}
>
  When creating an event in ParsaLink, click <strong style={{ color: "#30C8CA" }}>Add Google Meet</strong> to generate a Meet link automatically. The link is included in the calendar invite sent to all attendees.
</div>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <rect x="2" y="4" width="20" height="16" rx="2" stroke="#1C758A" strokeWidth="1.6" />

    <path d="M22 7L12 13L2 7" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
  </svg>

  Email
</div>

## Gmail

### What Syncs

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF] dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "16px",
color: "#212121 ,#FFFFFF"
}}
>
  * <strong>Send from ParsaLink:</strong> The email composer routes outbound mail through your Gmail account, so sent emails appear in your Gmail Sent folder and are signed by Gmail's DKIM. We only request the `gmail.send` scope — ParsaLink never reads, modifies, or labels your inbox.
  * <strong>Inbound capture (via SES, not Gmail):</strong> To capture replies into the CRM without scanning your inbox, ParsaLink uses a dedicated `parsa-assistant@<your-tenant>.<domain>` address routed through Amazon SES + SNS. Users CC or forward conversations to that address to bring them into the CRM. See [Email tracking](/email/tracking).
</div>

### Why No Gmail Inbox Scanning?

ParsaLink dropped the `gmail.modify`, `gmail.labels`, and `gmail.readonly` scopes in April 2026 as part of a scope-minimization pass — those scopes trigger Google's CASA audit requirements and (more importantly) require us to scan your inbox to capture replies. The SES + SNS route gives the same outcome (CRM-aware reply capture) without us touching your inbox at all.

If you previously relied on full Gmail sync, set up an inbound rule in Gmail to auto-forward conversations with CRM contacts to your tenant's `parsa-assistant@` address.

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z" stroke="#1C758A" strokeWidth="1.6" />

    <path d="M12 6v6l4 2" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />
  </svg>

  Files
</div>

## Google Drive

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF] dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "16px",
color: "#212121 ,#FFFFFF"
}}
>
  With Drive connected, you can access and attach Google Drive files from CRM records:
</div>

* <strong>Attach files via Google Picker</strong> — Open the standard Google file picker from any Account, Contact, or Opportunity. The picker shows your Drive in full (folders, search, recent), so you don't need to give ParsaLink full Drive access — you grant access to specific files at pick time. We use the `drive.file` scope only.
* <strong>View Drive files</strong> — Linked Drive files are accessible with a click from the CRM. You don't need to leave ParsaLink to open a doc.
* <strong>Sync CRM documents to Drive</strong> — Proposals, invoices, contracts, quotes, and SOWs can sync their rendered PDF directly into your Drive. See the [Documents](/crm/documents) page for the setup. Edits push a new revision to the same Drive file so links stay stable for sharing.
* <strong>Upload new files</strong> — Push a local file from ParsaLink straight into a Drive folder the picker selected.

<div
  className="bg-white dark:bg-black dark:text-slate-300 dark:border-white/20 [&_*]:dark:text-slate-300 [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "28px",
color: "#6B6B6B"
}}
>
  ParsaLink does not copy or store the file contents — it links to the file and accesses it when you open it.
</div>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M4 4h16v16H4z" stroke="#1C758A" strokeWidth="1.6" strokeLinejoin="round" />

    <path d="M8 8h8M8 12h6M8 16h4" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />
  </svg>

  Documents
</div>

## Google Docs

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF]dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "28px",
color: "#212121 ,#FFFFFF"
}}
>
  When writing proposal sections or email templates, you can import content from Google Docs:

  * Click <strong style={{ color: "#30C8CA" }}>Import from Google Docs</strong> in the rich text editor.
  * Search for a document in your Drive.
  * The document content is imported into the editor as formatted text.
</div>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <rect x="2" y="3" width="20" height="18" rx="2" stroke="#1C758A" strokeWidth="1.6" />

    <circle cx="12" cy="12" r="3" stroke="#1C758A" strokeWidth="1.6" />

    <path d="M19 8h.01M5 8h.01" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />
  </svg>

  Meetings
</div>

## Google Meet

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF] dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "28px",
color: "#212121 ,#FFFFFF"
}}
>
  Meet links are generated automatically when you:

  * Create an event in ParsaLink and click <strong style={{ color: "#30C8CA" }}>Add Google Meet</strong>.
  * Accept a booking from a contact (if your workspace default is Google Meet).

  The Meet link is unique per event and expires after the meeting time.
</div>

***

<div
  style={{
background: "rgba(28,117,138,0.12)",
color: "#1C758A",
fontSize: "11px",
fontWeight: "700",
marginBottom: "16px",
padding: "6px 14px",
letterSpacing: "0.5px",
textTransform: "uppercase",
borderRadius: "30px",
display: "inline-flex",
alignItems: "center",
gap: "8px"
}}
>
  <svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M18 10v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" />

    <path d="M12 2v12m0 0l-3-3m3 3l3-3" stroke="#1C758A" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
  </svg>

  Disconnect
</div>

## Revoking Access

<div
  className="bg-white dark:bg-black dark:text-[#FFFFFF] dark:border-white/20 [&_*]:dark:text-[#FFFFFF] [&_strong]:dark:text-white [&_h1]:dark:text-white [&_h2]:dark:text-white [&_h3]:dark:text-white"
  style={{
border: "1px solid #CDD1D3",
borderRadius: "16px",
padding: "18px 20px",
marginBottom: "20px",
color: "#212121 ,#FFFFFF"
}}
>
  To disconnect:

  1. Go to <strong style={{ color: "#1C758A" }}>Settings → Integrations → Google Workspace</strong>.
  2. Click <strong style={{ color: "#FF6F61" }}>Disconnect</strong>.

  You can also revoke access from your Google account at <a href="https://myaccount.google.com/permissions" style={{ color: "#30C8CA", textDecoration: "none" }}>myaccount.google.com/permissions</a>. Disconnecting from either location stops all syncing.
</div>
