Skip to content

Google Sheets as a real destination #67

Description

@coreyhaines31

Declared available: false in src/lib/destinations/adapters/index.ts, alongside HubSpot and Salesforce.

Being honest about not having it was the right call — a selectable integration that silently drops leads would be far worse. But Sheets is not in the same bucket as the CRMs. It is the exact thing the base-tier customer is leaving, and often the thing their operations person still wants alongside.

"Keep your sheet, we will keep it filled" removes the only real objection at that tier: that moving to us means taking something away from a colleague who is happy with what they have. It converts a migration into an addition.

Notes

  • The delivery engine, retry policy, health states, dead-lettering and delivery log are all already built and tested — this is an adapter, not a subsystem.
  • OAuth to the customer's Google account is the real work, and it is the first destination needing a token that expires. docs/28-destinations.md should record what happens when that token is revoked, and it must surface as a destination health state rather than a silent stop.
  • Column mapping: a sheet has a header row and a form has field keys. Appending by header name is the obvious behaviour, and adding a column when a new field appears is probably right — but a customer reordering their columns must not corrupt the mapping.

About a day for the adapter, plus the OAuth work.

Leaving HubSpot and Salesforce declared unavailable is still correct. They are what a buyer asks about second, and they belong at the top tier where the outcome loop lives.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions