When working with Power Apps and SharePoint, patching values into different column types requires specific data formats and record structures. Below is a comprehensive reference guide for patching each field type into your 'Employee Database' list.
1. Single Line of Text (Title)
Single line text fields accept a simple string literal or text property.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Title: "Mayuresh Joshi"
}
)
2. Multiple Lines of Text (Address)
Multiple lines of text fields also accept plain text or rich text strings.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Address: "123 Business Park Road, Suite 400, New York, NY 10001"
}
)
3. Number (Age)
Number columns require integer or decimal values, wrapped with the Value() function if pulled from a text input control.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Age: 29
}
)
4. Yes/No / Boolean (Allow WFH)
Yes/No columns require a standard Boolean (true or false) value.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Allow WFH': true
}
)
5. Person or Group - Single Select (Employee)
A single-select Person column requires a record containing specific schema properties: @odata.type, Claims, Department, DisplayName, Email, JobTitle, and Picture.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Employee: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & User().Email,
Department: "",
DisplayName: User().FullName,
Email: User().Email,
JobTitle: "",
Picture: ""
}
}
)
6. Person or Group - Multi Select (Team Members)
Multi-select Person columns require a table of user records. If pulling directly from a combo box control named cmbTeamMembers:
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Team Members': ForAll(
cmbTeamMembers.SelectedItems,
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: Claims,
Department: Department,
DisplayName: DisplayName,
Email: Email,
JobTitle: JobTitle,
Picture: Picture
}
)
}
)
7. Date Only (Date of Birth)
Date fields accept a standard Date() or DatePicker.SelectedDate value.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Date of Birth': Date(1995, 8, 24)
}
)
8. Date and Time (Date of Birth with Time)
Date & Time columns accept a DateTimeValue() or combine a date picker with time dropdowns.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Date of Birth with Time': DateTimeValue("1995-08-24 14:30:00")
}
)
9. Choice - Single Select (Gender)
Single-select choice columns require a record with a Value property.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Gender: {
Value: "Male"
}
}
)
10. Choice - Multi Select (Skills)
Multi-select choice columns require a table of records, where each record has a Value key. If pulling from a combo box named cmbSkills:
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Skills: ForAll(
cmbSkills.SelectedItems,
{
Value: Value
}
)
}
)
11. Lookup - Single Select (Department)
Single-select Lookup columns require a record containing both @odata.type, the target item Id, and the Value (display text).
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Department: {
Id: 1,
Value: "Information Technology"
}
}
)
12. Lookup - Multi Select (Working Days)
Multi-select Lookup columns require a table of records containing the Id and Value for each selected item.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Working Days': ForAll(
cmbWorkingDays.SelectedItems,
{
Id: Id,
Value: Value
}
)
}
)
13. Hyperlink or Picture (Linkedin Profile Link)
Hyperlink columns in SharePoint accept a record with Url and Description properties.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Linkedin Profile Link': "https://www.linkedin.com/in/mayure5h"
}
)
14. Currency (Salary)
Currency fields are treated numerically in Power Apps and accept numeric values.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Salary: 85000
}
)
15. Image / Thumbnail (Profile Pic)
For image columns, you can patch images captured from an Add Media Button / Camera control or uploaded as base64/binary content.
Patch(
'Employee Database',
Defaults('Employee Database'),
{
'Profile Pic': UploadedImage1.Image
}
)
All-in-One Complete Patch Statement
To create an entire record in a single transaction, combine all the field mappings into one Patch() call:
Patch(
'Employee Database',
Defaults('Employee Database'),
{
Title: "Mayuresh Joshi",
Address: "123 Business Park Road, Suite 400",
Age: 29,
'Allow WFH': true,
Employee: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & User().Email,
Department: "",
DisplayName: User().FullName,
Email: User().Email,
JobTitle: "",
Picture: ""
},
'Team Members': ForAll(
cmbTeamMembers.SelectedItems,
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: Claims,
Department: Department,
DisplayName: DisplayName,
Email: Email,
JobTitle: JobTitle,
Picture: Picture
}
),
'Date of Birth': Date(1995, 8, 24),
'Date of Birth with Time': DateTimeValue("1995-08-24 14:30:00"),
Gender: { Value: "Male" },
Skills: ForAll(cmbSkills.SelectedItems, { Value: Value }),
Department: {
Id: 1,
Value: "Information Technology"
},
'Working Days': ForAll(
cmbWorkingDays.SelectedItems,
{
Id: Id,
Value: Value
}
),
'Linkedin Profile Link': "https://www.linkedin.com/in/mayure5h",
Salary: 85000,
'Profile Pic': UploadedImage1.Image
}
)

0 Comments