Uh oh!
There was an error while loading. Please reload this page.
feat(integrations): extend Airtable, Google Docs, WhatsApp, and Excel tool depth - #5256
Conversation
…ete-worksheet tools
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Docs and UI catch up across the board: new Twilio integration page (SMS/status triggers) and Reviewed by Cursor Bugbot for commit b83b804. Configure here. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Greptile SummaryThis PR expands several integration blocks with deeper provider operations. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (7): Last reviewed commit: "fix(airtable): coerce upsert fieldsToMer..." | Re-trigger Greptile |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- google-docs: use camelCase fontSize field mask; normalize string booleans for bold/italic/underline and matchCase - microsoft-excel: escape OData single quotes in worksheet/table keys; validate range for clear/format - airtable: enforce batch limits (delete <=10 ids, upsert <=10 records and 1-3 merge fields) with clear errors
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- airtable: coerce upsert typecast as string-aware boolean (string "false" no longer truthy) - microsoft-excel: format_range surfaces precise partial-state error when fill PATCH fails after font (no atomic font+fill endpoint in Graph)
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
Uh oh!
There was an error while loading. Please reload this page.
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- google-docs: align manualDocumentId condition with the document selector so the documentId canonical group has matching conditions (fixes canonical-pair block test / build) - microsoft-excel: describe fill/font color as hex code only (Graph does not reliably accept named colors) - remove verbose explanatory inline comments from new tools (keep idiomatic section dividers) - regenerate integration docs + integrations.json catalog from the block registry
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
Uh oh!
There was an error while loading. Please reload this page.
…lumn validation - airtable: coerce recordIds entries via String() so numeric JSON values don't crash on .trim() - microsoft-excel: drop the silent sortColumn default to 0 so invalid input surfaces the tool's clear validation error (both v1 and v2 blocks)
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
Uh oh!
There was an error while loading. Please reload this page.
…handle non-string values
waleedlatif1
commented
Jun 29, 2026
@greptile review |
waleedlatif1
commented
Jun 29, 2026
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b83b804. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Summary
Deepens four of our most-used integration blocks by adding operations that the underlying APIs support but we didn't expose. Every operation reuses the integration's existing OAuth scopes — no new scopes, so connected users do not need to re-consent.
lib/oauth/oauth.tsis untouched.Driven by production usage analysis: these are high-adoption blocks whose tool coverage was shallow relative to the API surface.
What's added (18 new tools)
Airtable (reuses
data.records:write)airtable_delete_records— delete one or many recordsairtable_upsert_records— upsert viaperformUpsert.fieldsToMergeOnGoogle Docs (reuses
drive) —documents.batchUpdatesurfacegoogle_docs_insert_text,google_docs_replace_text,google_docs_insert_table,google_docs_insert_image,google_docs_insert_page_break,google_docs_update_text_styleWhatsApp (token-based, no OAuth) — outbound beyond plain text
whatsapp_send_template,whatsapp_send_media,whatsapp_send_interactive,whatsapp_send_reaction,whatsapp_mark_readMicrosoft Excel (reuses
Files.ReadWrite) — Graph workbook opsmicrosoft_excel_clear_range,microsoft_excel_format_range,microsoft_excel_create_table,microsoft_excel_sort_range,microsoft_excel_delete_worksheetNotes
tools.config.params(execution-time), never intools.config.tool.microsoft_excelandmicrosoft_excel_v2.Validation
bunx tsc --noEmit: clean across all changed filesbunx biome check: clean (34 files)bun run check:api-validation: passed