The Scenario
You're a marketing engineer at an e-commerce company setting up a new Loops workspace. You have 12 custom contact property definitions in a Google Sheet — column A is property name, column B is data type (string, number, boolean, or date), column C is a description. You need all 12 created in Loops before the first campaign goes live.
The bad version:
- Open Loops, go to Settings → Contact Properties, click Add Property
- Fill in name, type, description, save, repeat
- Get to property 9, realize you typed 'last_purchase_dae' instead of 'last_purchase_date' — it's already saved, now you have to delete it and recreate it, which means updating any contacts that already had it set
You don't have time for that.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet that reads the data and talks to Loops.so for you. No mapping, no automation, no copy-paste.
Open the SheetXAI sidebar and type:
For each row in this sheet where column A is a property name and column B is a data type (string/number/boolean/date), create the custom contact property in Loops and write the result into column C.
What You Get
- All 12 custom properties are created in Loops with the correct name and type
- Column C logs 'Created' for each success or the error message if a property with that name already exists
- The Loops workspace is ready for the campaign — no GUI clicking, no typo risk
What If the Data Is Not Quite Ready
When you want to audit existing properties first before creating new ones
List all contact properties in my Loops account — including name, data type, and whether they're custom — and write them into this sheet one row per property.
When some properties in the sheet already exist and you want to skip them
For each row in this sheet where column A is a property name, check if it already exists in Loops — skip it if so, create it with type from column B if not. Write 'Created', 'Skipped', or the error into column C.
When the data type values in column B use different naming conventions
Normalize column B values to Loops-compatible types (map 'text' → 'string', 'integer' → 'number', 'bool' → 'boolean'), then create a custom contact property in Loops for each row. Write the result into column C.
When you want it all in one shot
List all existing Loops contact properties into rows starting at A2, then compare them to the definitions in the 'New Properties' tab — create any that are missing, write 'Created' or 'Exists' into column C, and put a total count of new properties in cell E1.
The pattern: instead of auditing what exists and then creating what's missing, you ask for both in one prompt.
Try It
Get the 7-day free trial of SheetXAI and open any sheet with your Loops property definitions. Ask it to create the custom properties in Loops. The Loops.so integration is included in every SheetXAI plan. For related tasks, see Bulk Import Contacts Into Loops.so From a Google Sheet or the Loops.so in Google Sheets overview.
