Created
December 17, 2021 18:47
-
-
Save arthurwuhoo/fb2dec2c1488303712908db71c6a60fb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---------------------------------------------------------------------------- | |
// π¨ STEP 1. π¨ | |
// Change 'Test' to the name of your table. | |
let table = base.getTable('Test'); | |
// ---------------------------------------------------------------------------- | |
// ---------------------------------------------------------------------------- | |
// π¨ STEP 2: π¨ | |
// Change the following url to your Zapier webhook. | |
// To get a Zapier webhook, click the below link, then choose "Catch Hook" as the trigger event | |
// https://zapier.com/app/editor?create=true&template__0__selected_api=WebHookAPI | |
let webhook_url = 'ZAPIER_WEBHOOK_URL' | |
// ---------------------------------------------------------------------------- | |
let record = await input.recordAsync('Choose a record', table); | |
let record_id = record.id; | |
// ---------------------------------------------------------------------------- | |
// π¨ STEP 3. π¨ | |
// Add all the fields you want to send over to Zapier. Follow the format: | |
// let record_FIELDNAME = record.getCellValue(FIELDNAME); | |
let record_email = record.getCellValue('Email'); | |
let record_name = record.getCellValue('Name'); | |
// ---------------------------------------------------------------------------- | |
const customFetch = async ( | |
record, | |
) => { | |
const url = webhook_url; | |
console.log("F url:", url); | |
const options = { | |
method: "POST", | |
headers: { | |
"Content-Type": "application/json", | |
}, | |
body: JSON.stringify({ | |
record_id: record_id, | |
// ---------------------------------------------------------------------------- | |
// π¨ STEP 4. π¨ | |
// Pass in the fields you want to use in the Zapier Zap | |
// Format it like -- | |
// record_FIELDNAME: record_FIELDNAME, | |
record_name: record_name, | |
record_email: record_email, | |
// ---------------------------------------------------------------------------- | |
}), | |
}; | |
const response = await remoteFetchAsync(url, options); | |
const result = await response.json(); | |
return result; | |
}; | |
let result = await customFetch(record); | |
console.log(result); | |
output.markdown(`# You have selected ${result}.`); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@arthurwuhoo I've referenced your script for a few Airtable extensions that were working great up until a day or so ago. Im getting the error below:
j: Error: Bad request: .requestJson is missing
at customFetch on line 94
at main on line 99
// π¨ STEP 1. π¨
// Change 'Test' to the name of your table.
let table = base.getTable("Credit Submissions");
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// π¨ STEP 2: π¨
// Change the following url to your Zapier webhook.
// To get a Zapier webhook, click the below link, then choose "Catch Hook" as the trigger event
// https://zapier.com/app/editor?create=true&template__0__selected_api=WebHookAPI
let webhook_url = '{URL HIDDEN}'
// ----------------------------------------------------------------------------
let record = await input.recordAsync('Choose a record', table);
let record_id = record.id;
// ----------------------------------------------------------------------------
// π¨ STEP 3. π¨
// Add all the fields you want to send over to Zapier. Follow the format:
// let record_FIELDNAME = record.getCellValue(FIELDNAME);
let record_Name = record.getCellValue('Name');
let record_CompanyName = record.getCellValue('Company Name');
let record_DateofBirth = record.getCellValue('Date of Birth')
let record_SocialSecurityNumber = record.getCellValue('Social Security Number');
let record_LoanAmountNeeded = record.getCellValue('Loan Amount Needed');
let record_Email = record.getCellValue('Email');
let record_TaxID = record.getCellValue('Tax ID');
let record_Phone = record.getCellValue('Phone');
let record_HomeStreetAddress = record.getCellValue('Home Street Address');
let record_HomeCity = record.getCellValue('Home City');
let record_HomeState = record.getCellValue('Home State');
let record_HomeZipCode = record.getCellValue('Home Zip Code');
let record_BusinessStreetAddress = record.getCellValue('Business Street Address');
let record_BusinessCity = record.getCellValue('Business City');
let record_BusinessState = record.getCellValue('Business State');
let record_BusinessZipCode = record.getCellValue('Business Zip Code');
let record_TimeInBusinessYears = record.getCellValue('Time In Business Years');
let record_BusinessStartDate = record.getCellValue('Business Start Date');
let record_EntityType = record.getCellValue('Entity Type');
let record_HomeAddress = record.getCellValue('Home Address');
let record_BusinessAddress = record.getCellValue('Business Address');
let record_UTM = record.getCellValue('UTM');
let record_SalesRep = record.getCellValue('Sales Rep');
// ----------------------------------------------------------------------------
const customFetch = async (
record,
) => {
const url = webhook_url;
console.log("F url:", url);
const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
record_id: record_id,
// ----------------------------------------------------------------------------
// π¨ STEP 4. π¨
// Pass in the fields you want to use in the Zapier Zap
// Format it like --
// record_FIELDNAME: record_FIELDNAME,
record_Name: record_Name,
record_CompanyName: record_CompanyName,
record_DateofBirth: record_DateofBirth,
record_SocialSecurityNumber: record_SocialSecurityNumber,
record_LoanAmountNeeded: record_LoanAmountNeeded,
record_Email: record_Email,
record_TaxID: record_TaxID,
record_Phone: record_Phone,
record_HomeStreetAddress: record_HomeStreetAddress,
record_HomeCity: record_HomeCity,
record_HomeState: record_HomeState,
record_HomeZipCode: record_HomeZipCode,
record_BusinessStreetAddress: record_BusinessStreetAddress,
record_BusinessCity: record_BusinessCity,
record_BusinessState: record_BusinessState,
record_BusinessZipCode: record_BusinessZipCode,
record_TimeInBusinessYears: record_TimeInBusinessYears,
record_BusinessStartDate: record_BusinessStartDate,
record_EntityType: record_EntityType,
record_HomeAddress: record_HomeAddress,
record_BusinessAddress: record_BusinessAddress,
record_UTM: record_UTM,
record_SalesRep: record_SalesRep,
// ----------------------------------------------------------------------------
}),
};
const response = await remoteFetchAsync(url, options);
const result = await response.json();
return result;
};
let result = await customFetch(record);
console.log(result);
output.markdown(
# You have selected ${result}.
);`