Custom action to create a new entity based on a fields of an existing entity There are two entity types on my site: 1) an application for participation (entityform) and 2) a participant profile (node). At first user creates an application for participation. And then site administrator must create somehow a new participant profile and fill its fields from an entityform created by user.

How to create such an action "Create participant profile from application"? The action must be accessible to administrator as a button or a menu tab item on a entityform view page.
If I have to do that, I would take these steps to achieve what you want here :


Make a custom module for it.
Add a path by help of hook_menu.
Make a custom function for menu callback &amp; mention the same in there.
Inside function, get current node ID (entityform submission, where admin is there) by something like if (arg(0) == 'node' &amp;&amp; is_numeric(arg(1))) $nodeid = arg(1);
Then write code to load a entity by ID by help of entity_load &amp; take all the values in custom vars as per requirement for new node(profile).
Save the node of type profile by help of node_save.
Insert a link(CREATE PROFILE) mapped with created path(by above hook_menu) to the node view of entityform submission by help of hook_node_views.


Now when ever your inserted link will be clicked, a profile will be created. 

You can restrict the access of created path by implementing hook_permission &amp; give access to admin only. 

You are free to do some other stuff as well, like if profile node exist for entityform submission them make link disappear as well. It all depends upon your need &amp; plan :)