How do I access a custom field from an action? I want to access a custom field names field_heat in a Rules action in D8 and it does not accept it. This is my condition:


And this is my action which cannot be accepted:


If I use a build field like node.title.value it works OK so the problem must be with custom fields. I am using Rules 8.x-3.0-alpha1.
Preface

Be aware of what's written in comment nr 7 of issue nr 2574691:


  rules 8.x-3.0-alpha1 ... is a preview release and is not intended for production sites. Use at your own risk.


With that in mind, read on for more details to do a similar experiment with rules 8.x-3.0-alfa1.

Verify setup of content type and field


I'll use content type "Article", which already has a field with machine name "field_image" (out of the D8-box).
Navigate to /admin/structure/types/manage/article/fields to verify this.


Create a rule


Enable the Rules module.
Navigate to /admin/config/workflow/rules and create a new rule, with these details:


Use Rules Event "Before saving content"
Add a Rules Condition like "Entity has field" (for the field_image field). To do so, click on "Value" (within the "Entity" box), and select node. And also click on "Value" (within the "Field" box), and select field_image. Then click the Save button (to save the Rules Condition).
Add a Rules Action "Set a data value",and continue like so: click on "Value" (within the "Data" box), and select node:field_image:value (note that for this Data Selector I'm using : (twice), instead of . (twice) as in your screenprint). And also enter some "Value" (within the "Value" box), eg myNiceImage. Then click the Save button (to save the Rules Action).
You are then returned to the "edit rules reaction" screen (for the rule you are editing. And it shows a message like "You have unsaved changes.". Click the Save button (to save the rule). Then a message will be shown like "Reaction rule ABC has been updated." (ABC = the label you gave to your rule).



Verify if the rule got saved


Navigate to /admin/config/workflow/rules to ensure the rule was really saved (that it does show up there).
Navigate to admin/config/development/configuration/single/export and as "Configuration type" select "Reaction Rule". Then select the label of your rule as the "Configuration name".
You should then see the exported rule, which should look similar to mine, i.e.:

uuid: ab289332-0b45-484f-a1ae-38842620b7e4
langcode: en
status: true
dependencies: {  }
id: check_a_field_before_saving_a_node
label: 'Check a field before saving a node'
events:
  -
    event_name: 'rules_entity_presave:node'
description: ''
tags:
  - ''
config_version: '3'
expression:
  id: rules_rule
  uuid: 354332c5-8307-4097-b33c-0e77307a5e0e
  conditions:
    id: rules_and
    uuid: e82407a4-05c6-45d3-8195-1c1b5f34a07d
    conditions:
      -
        id: rules_condition
        uuid: 3c9094ed-95ec-4202-8398-5a6ca000604a
        context_values:
          entity: node
          field: field_image
        context_mapping: {  }
        context_processors: {  }
        provides_mapping: {  }
        condition_id: rules_entity_has_field
        negate: false
  actions:
    id: rules_action_set
    uuid: 3313095c-f75a-46f2-8d11-f845d12a90f2
    actions:
      -
        id: rules_action
        uuid: 23a3a68e-893e-48c4-a7ee-102201af5a25
        context_values:
          data: 'node:field_image:value'
          value: myNiceImage
        context_mapping: {  }
        context_processors: {  }
        provides_mapping: {  }
        action_id: rules_data_set

The above export should illustrate that I could perfectly save this ... because otherwise I could not have exported it, right?


Pushing the limits

So far so good, but next I wanted to update the value to be assigned in my Rules Action, let's say myNiceImage should be updated to myNewestNiceImage. So I returned to my Rules Action, and started to edit it. But, that resulted in an error message like so:


  The context Data may only be configured using a selector.


By clicking on the Switch to data selection button (so that the button label changed to Swith to direct input mode), and trying again, I got another error message like so:


  Data selector node:field_image for context Data is invalid. Unable to get variable node:field_image, it is not defined. 


There has to be a way to do it ...

So it seems like updating a Rules Action is not what you should try to do (at least not in the current D8 release of the Rules module).

However, here are the steps I performed to actually get the value updated (from myNiceImage to myNewestNiceImage) anyhow:


delete the Rules Action (with the old value myNiceImage).
create a new Rules Action (with the new value myNewestNiceImage).


Voilà!

PS: did you notice I'm using "Entity has field", and not "Entity is of type"?