Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

chatGPT for Airtable automation.

46779 16
cancel
Showing results for 
Search instead for 
Did you mean: 
chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

Using chatGPT in an Airtable automation. 

In my use case, the automation triggers on when an Airtable record matches conditions,
then follows with 2 actions, run script and update record. Adjust the first part of the prompt
with your own use case. Tip: Use chatGPT to help you write a prompt for chatGPT (!)

 

let inputConfig = input.config();
text = `${inputConfig.text}`;

var key = "openai-api-key";

var url = "https://api.openai.com/v1/completions";

prompt = "Reword this text to grade 9 reading level: " + text;

var gpt = {
model : "text-davinci-003",
prompt : prompt,
temperature : 0,
max_tokens : 1024
};

response = await fetch(url, {
method: 'POST',
body: JSON.stringify(gpt),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + key,
}
});

answer= await response.json();

data=answer.choices[0].text;

output.set('your-airtable-field',data);

 

16 Replies 16
Scott_Gould
6 - Interface Innovator
6 - Interface Innovator

BOOM.

Aaron_Hanson
4 - Data Explorer
4 - Data Explorer

this is awesome - though davinci isn't quiet the same or as good as chatgpt though right?  

chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

chatGPT isn't a model though.

MaxValle
4 - Data Explorer
4 - Data Explorer

Hi Guys,

where can I find the ChatGPT API?
It seems they can no longer be activated. I have a Pro account.

Thank you 🙂

 

Karl_L
6 - Interface Innovator
6 - Interface Innovator

Hi @chrisbyrne 
and thank you for this show and tell!

I'm trying to do basically the same thing, but get only "undefined" responses. I might be doing some simple mistake, any idea what it is? Posting my edited script below

 

let inputConfig = input.config();
text = `${inputConfig.textToMakeShorter}`;

var key = "XXXXX";

var url = "https://api.openai.com/v1/completions";

prompt = "Summarize this text: " + text;

var gpt = {
model : "text-davinci-003",
prompt : prompt,
temperature : 0,
max_tokens : 1024
};

response = await fetch(url, {
method: 'POST',
body: JSON.stringify(gpt),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + key,
}
});

answer= await response.json();

data=answer.choices[0].text;

output.set('shortenedText',data);

 

chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

It's at capacity rn so could be that, it's something you will have to allow for.
In my app I have a retry number field that gets incremented if it fails.
 
What I would do now, is test the step before the prompt with
console.log(key) and console.log(url) to make sure these are correct.

The code I provided is bare bones without error checking, to make it clear what's happening.

You could add this before the answer= await response.json();

if (!response.ok) {
  console.error(`Error:  ${response.status}`);

This should cough up whatever is going on.

Jean-Philippe_E
7 - App Architect
7 - App Architect

Hello,
I wondering if it would be possible to perform ChatGPT summerisation when the WebClipper perform the capture of the page ?

Good or Bad idea ?

  • It would avoid capturing and storing all the junk of a full webpage
  • On the other hand as a "function" we could play it again and again

How do you handle to long article ? Did you try the GPT 3.5 with it's lower fees ?

Thanks

To handle long articles you will need to strip the text so it's less than 1,500 words (GPT limit)
text = text.substring(0,2048); 

Though with GPT4 it's expanded to 32k, a gamechanger!

Jean-Philippe_E
7 - App Architect
7 - App Architect

Yes playing with it 32k is interesting but I think expensive at scale.
Are you sure token = word ? What does it means for an html content ?