You've correctly identified that customizing the Push Notification form in Customer Insights - Journeys requires more than just adding the attribute to the table and the customizable main form. The error "Attribute ____ is missing on the main form" even though the column name shows up but is non-interactive strongly indicates that the form metadata isn't correctly synchronized or the control for your custom attribute isn't properly initialized within the context of the Push Notification form.
The article you linked about customizing the Email form highlights the need to interact with the form editor and ensure the components are correctly added and bound. A similar process is required for the Push Notification form.
Here's a breakdown of the steps and potential areas to troubleshoot:
1. Verify Attribute and Message Part Creation:
- Attribute Creation: Double-check that the new column (attribute) you created in the Push Notifications table (
msdynmkt_pushnotification) has the correct data type and properties. Ensure it's marked as customizable.
- Message Part Creation: Confirm that you created the related Message Part (
msdynmkt_messagepart) specifically for your Push Notification channel and that it includes a field mapping to your newly created attribute in the Push Notifications table. The "Friendly Name" of the Message Part and its fields will be important for the form customization.
2. Customize the Push Notification Form (The Core Process):
You need to use the Form Editor within Power Apps to properly add your custom attribute to the Push Notification form.
- Navigate to Power Apps: Go to
make.powerapps.com and select the correct environment.
- Solutions: Navigate to Solutions and open the solution that contains the Customer Insights - Journeys entities (usually the default solution or a specific marketing solution).
- Tables: Find the Push Notification table (
msdynmkt_pushnotification).
- Forms: Open the Push Notification main form that is designated as "Customizable Main."
- Add Your Column:
- In the Form Editor, look at the Field Explorer on the left-hand side.
- Find your newly created attribute in the list of available fields.
- Drag and drop your attribute onto the desired section of the form.
- Verify Control Properties:
- Select the field you just added to the form.
- In the Properties pane on the right-hand side, ensure that the Control is set to a suitable default control (e.g., Text Input).
- Crucially, verify that the "Data source" and "Field" properties are correctly bound to your custom attribute. This is where the link between the form element and the underlying data occurs.
- Save and Publish: After adding and configuring the field, Save the form and then click Publish to make your changes live.
3. Troubleshooting the "Attribute Missing" Error and Non-Interactive Field:
The error message and the non-interactive field strongly suggest that the form is not correctly recognizing or binding to your custom attribute, even though its label might be visible. Here are potential causes and how to troubleshoot them:
- Form Cache Issues: Sometimes, the form might be displaying a cached version. Try the following:
- Hard Refresh: In your browser, perform a hard refresh (e.g., Ctrl+Shift+R or Cmd+Shift+R).
- Clear Browser Cache: Clear your browser's cache and cookies.
- Incorrect Field Binding: Double-check the "Data source" and "Field" properties of the added field in the Form Editor. Ensure they are pointing directly to your custom attribute name (the schema name of the column you created).
- Form XML Issues (Advanced): In rare cases, the underlying form XML might have inconsistencies. While less common for simple customizations, you can export the solution containing the form, examine the form XML, and look for any discrepancies related to your custom attribute. However, be very cautious when directly editing solution XML.
- Unpublished Changes: Ensure that all your changes (attribute creation, message part creation, form customization) have been saved and published. Sometimes, forgetting to publish one component can lead to errors.
- Solution Layering: If you are working within a managed solution on top of the base Customer Insights - Journeys solution, ensure your customizations are in the correct layer and are not being overridden.
- JavaScript Conflicts (Less Likely for Basic Field Addition): If you have any custom JavaScript on the Push Notification form, temporarily disable it to see if it's interfering with the rendering or binding of your new field.
- Metadata Synchronization Delays: In some instances, there might be a slight delay in the metadata synchronization within the platform. Wait a few minutes and try opening the form again.
4. Verify Message Part Mapping:
- Go back to Customer Insights - Journeys > Channels > Push notifications > Message parts.
- Open the Message Part you created for your custom channel.
- Ensure that the Fields section correctly maps the field in your Message Part to your custom attribute in the Push Notification table. The "Dataverse column" should point to your new attribute's schema name.
Analogy to Email Form Customization:
Yes, the process for customizing the Push Notification form is very similar to customizing the Email form. You need to:
- Create the underlying attribute (column) in the respective table.
- Create a Message Part to structure the data for the channel and map it to the attribute.
- Use the Power Apps Form Editor to add the attribute to the form and ensure it's correctly bound.
- Save and publish all changes.
The error you are seeing indicates a disconnect between step 3 (the form) and step 1 (the attribute). Focus on verifying the field binding in the Form Editor and ensuring all components are published.
By carefully reviewing these steps and troubleshooting the potential causes, you should be able to resolve the "Attribute missing" error and make your custom column interactive on the Push Notification form. Remember to test thoroughly after making any changes.