Skip to content
Cloning Airtable Bl...
 
Notifications
Clear all

Cloning Airtable Blueprints

6 Posts
4 Users
0 Reactions
4 Views
Riccardo_Vandra
(@riccardo_vandra)
Posts: 3
Active Member
Topic starter
 

Hello everyone,

I frequently need to import the same blueprint for various clients, and within this blueprint, there are numerous Airtable Modules.

Each Airtable Module, after establishing connections, fails because it's linked to the previous client's bases. Consequently, I have to reconfigure these modules every time.

I'm wondering if any of you have discovered a method to streamline this process. My goal is to avoid reconfiguring all the Airtable modules each time I import a new blueprint, particularly those that update records which are then cleared out.

I'd be very interested to hear if anyone has found a workaround for this.

Looking forward to any suggestions!

 
Posted : 06/01/2024 9:33 pm
sachin.shrivastava
(@sachin-shrivastava)
Posts: 7
Active Member
 

Hello,
Welcome to the callin.io Community

You can ‘Clone’ your scenario and modify the data without reconfiguring the Airtable modules.

Thanks,
Sachin Shrivastava
growwstacks.com

 
Posted : 08/01/2024 2:59 pm
Msquare_Automation
(@msquare_automation)
Posts: 88
Estimable Member
 

Hi there!

Regarding your mention of "blueprint import," please note that a blueprint primarily serves as an interface for a scenario. Consequently, you'll need to establish a separate connection for each client, as this process utilizes their individual API secrets.

Should you need further assistance, feel free to contact us.
MSquare Support
Visit us here
Youtube Channel

 
Posted : 09/01/2024 9:16 am
Riccardo_Vandra
(@riccardo_vandra)
Posts: 3
Active Member
Topic starter
 

Yes, this is achievable within the same client workspace.

However, if I switch workspaces, moving from Client A to Client B, would I need to remap everything from the beginning?

I've included a video to offer further context:

 
Posted : 22/02/2024 10:39 am
Riccardo_Vandra
(@riccardo_vandra)
Posts: 3
Active Member
Topic starter
 

The connection is already established on the client side; the issue arises when I switch between different bases.

I've included a video demonstrating the problem: Airtable Cloning Problem | Loom

Kindly let me know if this helps, and we can investigate the issue further.

 
Posted : 22/02/2024 10:40 am
steadynowadmin
(@steadynowadmin)
Posts: 1
New Member
 

Hello Riccardo,

My approach to this involves two primary steps:

  1. An Airtable "Automation" (which might require manual setup and activation for each base) that dispatches a webhook to callin.io, including:
    • A trigger (e.g., time-based, specific field update).
    • A scripting block that forwards either a webhook URL or a JSON response to callin.io, containing:
      • recordId
      • baseId
      • tableId(s)
      • The callin.io webhook URL

The recordId can be supplied via the trigger.
The baseId is readily obtainable within the script.
The tableIds can be identified through one of these methods:
A) A custom text input in the input.config named (e.g., preRecordedTableName). The script can then retrieve the table ID for the table named 'Pre-Recorded Videos' (or your specific naming convention).
B) Hardcoding within the script to fetch the table named 'Pre-Recorded Videos', assuming your bases consistently use this table name.

Here's an illustration of the automation and the script:

let inputConfig = input.config();
let preRecTableId;
try {
    preRecTableId = base.getTable(inputConfig.preRecTableName).id;
    console.log(preRecTableId);
} catch (error) {
    console.log(`The table ${inputConfig.preRecTableName} was not found.`);
}

const jsonBody = {
    "baseID": base.id,
    "preRecTableID": preRecTableId,
    "recordID": inputConfig.recordID,
    "assetFolder": inputConfig.assetFolder
}

const response = await fetch(`${inputConfig.hookURL}`, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(jsonBody)
});

As you can observe, I've also included the value from the {Asset Folder} field, which aids in determining the route for my specific use case. You can omit this part if it's not relevant to your needs.

  1. After configuring the appropriate payload from Airtable, I utilize the webhook module to receive the payload from the scripting block. Subsequently, I employ the 'Make an API call' Airtable module within callin.io to update the record.

This system's advantage is the ability to manage all operations of this nature across various bases for each client using a single callin.io scenario. This significantly streamlines creation and troubleshooting, offering an elegant solution.

For cross-client utilization, one could universally update the Personal Access Token, referred to as the "Connection," at the beginning of all Airtable modules within the scenario(s), potentially using a method similar to this resource from weblytica.

A drawback of the 'Make an API call' module compared to the 'Update a Record' module is the possibility of attempting to write to a non-existent Airtable field, which would result in an error.

The 'Update a Record' module, as demonstrated in your video, pre-loads the fields for that specific Airtable table, making it impossible to write to a field that doesn't exist. However, as you pointed out, it has the significant disadvantage of clearing all mappings when you switch to a different table.

Please feel free to reach out if you have any questions or if a brief call would be beneficial.

Best regards,
Paul
jpaulgale@gmail.com

 
Posted : 22/02/2024 7:31 pm
Share: