Normalize PhoneSheet phones arrive as (555) 123-4567, 555-123-4567, +1 555 123 4567, or 0071…. APIs and SMS gateways want E.164. normalizePhone(raw…
Validate Form answers before they hit your master sheetLinked Forms feel convenient until one typo in “Email” breaks every nightly job that trusts the master tab. The fix isn’t a sterner form…
Assert Required KeysThe API call failed because row 37 had no email. Worse, it succeeded with an empty amount. assertRequiredKeys(obj, requiredKeys, opts…
Normalize an Email AddressUpserts and sheet lookups miss rows when one person typed Ada@Example.com and another stored ada@example.com. normalizeEmail trims…
Sanitize a Sheet Tab NamesetName and insertSheet reject characters Sheets reserves (: \ / ? * [ ]), and long client names blow past the 100-character tab limit…