Custom Profile Fields
Custom profile fields allow you to provide any arbitrary attribute for the members of your community.
Below we're going to explain how to retrieve, add, reorder, archive, unarchive, or delete a custom profile field.
In case you want to update member's custom profile fields, you can check the updateMember
tutorial.
Retrieve Custom Fields
The custom fields are accessible through the memberFields
of a network.
{
network {
memberFields {
fields {
key
name
archived
}
}
}
}
Add Custom Field
addMemberSchemaField
mutation is used to create a new custom field on the network level.
It takes CustomFieldSchemaInput
as an input. The key
is used to uniquely identify the field.
mutation {
addMemberSchemaField(input: { type: text, name: "Website", key: "website" }) {
id
}
}
This will create a new custom fields on the network then you can update the value of this field for each member.
Update Custom Field
You can use the updateMemberSchemaField
mutation to update a custom field.
It takes UpdateCustomFieldSchemaInput
as an input.
The key
is used to uniquely identify the field.
mutation {
updateMemberSchemaField(
input: { key: "website", description: "Your personal website" }
) {
id
}
}
Archive Custom Field
You can use the archiveMemberSchemaField
mutation to archive a custom field.
It takes a key
as an input to uniquely identify the field.
Archiving a custom field preserves the existing values and can be restored by unarchiving.
mutation {
archiveMemberSchemaField(key: "website") {
id
}
}
Unarchive Custom Field
You can use the unArchiveMemberSchemaField
mutation to archive a custom field.
It takes a key
as an input to uniquely identify the field.
Unarchiving a custom field restores the existing values for that field.
mutation {
unArchiveMemberSchemaField(key: "website") {
id
}
}
Delete Custom Field
You can use the deleteMemberSchemaField
mutation to delete a custom field.
It takes a key
as an input to uniquely identify the field.
Deleting a custom field deletes all the existing values for that field.
mutation {
deleteMemberSchemaField(key: "website") {
id
}
}
Reorder Custom Field
You can use the reorderMemberSchemaFields
mutation to give a custom order to the custom fields.
mutation {
reorderMemberSchemaFields(
input: [{ key: "website", index: 1 }, { key: "birthday", index: 2 }]
) {
id
}
}