Airtable Adapter + Adapter Doc Corrections
A new Airtable adapter page, plus an audit pass over the existing adapter docs to fix a handful of inaccuracies caught against the live server code.
Added
- Airtable adapter — full documentation for
getCustomerDetails,newOpportunity/createRecord, andupdateRecord, including the requiredcrmConfig(baseId,tableId,viewId,authToken,phoneColumn), per-call overrides for base/table/view, and notes on the auto-injected phone column. - Rapid
crmGetFields— undocumented op that returns the hardcoded Hebrew status list used by Texter'schangeStatusdropdowns. - Senzey
crmConfig— config table (server,username,password) was missing from the page; now included. - Tazman
crmConfig— config table (server,token, plus the fourresult*Fieldoverrides) was missing from the page; now included.
Fixed
- Rapid
crmGetAppointments—datesRangeTois a window length in days, not an end-day index (0, 14searches today through 14 days out). - Rapid
crmCreateAppointment— result iscrmData.appointmentId(string), not an array. - Rapid
uploadFile— result now documentscrmData.uploadedFileshape. - Rapid
closeTicket— returnson_failurewhencrmData.cardCodeis missing (was vaguely worded). - Senzey
getCustomerDetails—deepLinkis only set whenuser_typeis2or3; the adapter always sendsincl_pclient=TRUEso both clients and potential clients are searched. - GoogleSheet
getCustomerDetails— dashed phone variant assumes Israeli format; raw CSV columns spread ontocrmDataafter mapped fields can overwritename/phone/id/statusif column headers collide. - Powerlink —
showDuplicatesfires on a single contact-fallback match too (not only on multi-account matches);displayExistingDatawritesaccountid(lowercase) regardless of the config-key casing;setOwnerfailure conditions documented. - Provet — removed the
closeTicketsection; the op is effectively a no-op that doesn't call Provet at all. - Lead.IM — display-mode edge case where
crmDataexists withoutaid/lid(orpp_aid/pp_lid) still returns success but with noidand a bare-basedeepLink. - Salesforce
getCustomerDetails— warned thatcontactObjectCustomFieldsis a total replacement of the default field list, so omittingId/AccountId/Name/ etc. silently drops the correspondingcrmDatakeys;crmData.Accountsis a numeric-keyed object, not an array. - Zoho —
orgIdis optional (only used to builddeepLink); documentedfieldsOverrideand its total-replacement caveat; clarified that an empty-row query returnssuccess: truewithcrmData.queryResult: {}, noton_failure.