Retrieves a custom field with a specified name, or creates one if it doesn't exist. The number of custom fields is limited to 100.
Successful calls to this method always return a field, which can be specified in subsequent calls.
To find an existing custom field without potentially creating a new one, call Get Extended Field or Query Extended Fields.
This function requires elevated permissions and runs only on the backend and on dashboard pages.
function findOrCreateExtendedField(
displayName: string,
dataType: FieldDataType,
): Promise<FindOrCreateExtendedFieldResponse>;
Display name to retrieve or create.
If an existing custom field is an exact match for the specified display name, the existing field is returned. If not, a new field is created and returned.
Type of data the field holds. Ignored if an existing field is an exact match for the specified display name.
import { extendedFields } from "wix-crm.v2";
/* Sample displayName value:
*
* 'Age'
*
* Sample dataType value:
*
* 'NUMBER'
*/
export async function myCreateExtendedFieldFunction(displayName, dataType) {
try {
const newExtendedField = await extendedFields.findOrCreateExtendedField(
displayName,
dataType,
);
console.log("Successfully created new extended field:", newExtendedField);
return newExtendedField;
} catch (error) {
console.log(error);
// Handle the error
}
}
/* Promise resolves to:
* {
* "field": {
* "namespace": "custom",
* "key": "custom.age",
* "displayName": "Age",
* "dataType": "NUMBER",
* "fieldType": "USER_DEFINED",
* "legacyId": "ed349d8c-b2bc-46a4-80d8-7632c6f50b00",
* "wixSearchColumn": "info_extendedFields_custom_double_27",
* "_createdDate": "2023-12-25T12:16:40.000Z",
* "_updatedDate": "2023-12-25T12:16:40.000Z"
* },
* "newField": false
* }
*/
There is 1 error with this status code.
This method may also return standard errors. Learn more about standard Wix errors.