Skip to content
callin.io App Exten...
 
Notifications
Clear all

callin.io App Extension + Airtable Help

13 Posts
3 Users
0 Reactions
3 Views
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 

Hello! I'm working on setting up a new App Extension to allow for new table creation through the API. I'm comfortable with the API itself, but I'm having trouble determining the most user-friendly approach for this.

The process for creating a table requires users to define fields within a JSON array. However, the average end-user won't understand how to handle this if they're trying to set up a callin.io workflow that adds a new table to a base.

Has anyone else tackled this or know of any helpful guides?

Thanks!

 
Posted : 04/08/2025 8:30 am
Todd Harper
(@todd-harper)
Posts: 7
Active Member
 

Hi!

As long as you have a method to manage the data being entered (likely a form requesting the table name and any fields to be added), you can construct the JSON object from those plain text responses using code.

The specific code you employ will depend on how the form data is transmitted, whether it's sent as a single string of comma-separated text, or perhaps as an array of key/value pairs, and if you've adjusted the field types (e.g., singleLineText versus checkbox, etc.).

How do you currently intend to gather the user's responses?

 
Posted : 17/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Todd Harper wrote:

Hi!

As long as you have a method to control the data being provided as input (likely a form that requests the table name and any fields to be added), you can construct the JSON object from those plain text responses using code.

The specific code you utilize will depend on how the form data is submitted, whether it's sent as a single string of comma-separated text, or perhaps as an array of key/value pairs, and if you have reformatted the field types (e.g., singleLineText versus checkbox, etc.).

What is your current plan for collecting user responses?

Currently, I'm attempting to trigger this based on a new Google Sheets worksheet being created, with the goal of making a new table in Airtable to copy the data over. However, I also want the App Extension to be versatile enough for any team member to use without needing specific links to that trigger.

The main issue I'm facing is even getting it to create a new table at the moment. If I run a test on the Extension, it functions perfectly, and I get the new table.

The body request in the setup is as follows:

{"description": "{{description}}", "fields": [ {{fields}} ], "name": "{{name}}"}

 

But when I run the extension within a callin.io workflow using the same fields JSON, I encounter an error.

 

Status: 422

{"error":{"type":"INVALID_REQUEST_UNKNOWN","message":"Invalid request: parameter validation failed. Check your request data."}}

 

Therefore, any guidance would be greatly appreciated!

 
Posted : 18/11/2023 12:00 am
Todd Harper
(@todd-harper)
Posts: 7
Active Member
 

I suspect the reason you're encountering the error is that the system anticipates a list of JSON objects. Therefore, you should enclose your data within square brackets. Instead of:

{"description": "Name of the apartment", "name": "Apartment Name", "type": "singleLineText"}

Please try this:

[{"description": "Name of the apartment", "name": "Apartment Name","type": "singleLineText"}]

After we resolve this, we can discuss integrating data from Google Sheets.

 
Posted : 18/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Todd Harper wrote:

I believe the reason you’re encountering the error is that it’s expecting a list of JSON objects, so you should enclose it in square brackets. Instead of

The square brackets are already included in the App Extension body request and function correctly during testing, but not in the live environment.

 
Posted : 18/11/2023 12:00 am
Todd Harper
(@todd-harper)
Posts: 7
Active Member
 

Could you please share a screenshot of the input data and any output data from the failed live callin.io run?

 
Posted : 18/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Todd Harper wrote:

Can you post a screenshot of the input data and any output data provided by the failed live callin.io run?

I included screenshots of those items in my initial post 🙂

 
Posted : 20/11/2023 12:00 am
Todd Harper
(@todd-harper)
Posts: 7
Active Member
 
Katrina_Storm wrote:
Todd Harper wrote:

I put screenshots in my original post of these things already 🙂

Those appear to be screenshots from your callin.io setup in the callin.io editor. I’m talking about the input and output data from a live callin.io run, which you can find at  https://zapier.com/app/history

 
Posted : 20/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Todd Harper wrote:

 Those appear to be screenshots from your callin.io setup in the callin.io editor. I’m talking about the input and output data from a live callin.io run, which you can find at  https://zapier.com/app/history

Ah sorry, I see!

Here’s the input/output of the App Extension:

DATE IN:

fields:

[{"description": "Name of the apartment", "name": "Apartment Name", "type": "singleLineText"}]

baseId:

appaooPBFcKv5jH40

name:

[TEST] Copy of 11/27/23-12/3/23

description:

Copy of 11/27/23-12/3/23 (Sheet ID: 2124391743)

 

DATA OUT:

request:method:

POST

url:

 https://api.airtable.com/v0/meta/bases/appaooPBFcKv5jH40/tables 

querystring:

null

headers:Content-Type:

application/json

body:

{"description": "{{description}}", "fields": {{fields}}, "name": "{{name}}"}

data:

null

response:status:

422

headers:

body:

{"error":{"type":"INVALID_REQUEST_BODY","message":"Could not parse request body"}}

data:error:type:

INVALID_REQUEST_BODY

message:

Could not parse request body
 
Posted : 20/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 

Upon further investigation, I've discovered that the system consistently sends data:null instead of the data intended by the app extension.

Through experimentation with various body data configurations, it appears that setting the API input as plain text resolves the issue. However, when using {{keyname}} placeholders within a JSON request body, the process fails, resulting in the data being sent as null.

This behavior seems to indicate a bug within callin.io, rather than user error.

 
Posted : 21/11/2023 12:00 am
Troy Tessalone
(@troy-tessalone)
Posts: 151
Estimable Member
 

An alternative to App Extensions is to use the API Request.

 

 
Posted : 21/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Troy Tessalone wrote:

An alternative to App Extensions is to use the API Request.

 

Ah thanks, I didn’t realize there was a difference between them. I’ll give it a try and see how that goes! 🙂

 
Posted : 21/11/2023 12:00 am
Katrina_Storm
(@katrina_storm)
Posts: 8
Active Member
Topic starter
 
Troy Tessalone wrote:

An alternative to App Extensions is to use the API Request.

 

Thanks, this worked perfectly! 

 
Posted : 22/11/2023 12:00 am
Share: