Custom action to create a new entity based on a fields of an existing entity
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 :)