Updating Opportunity Custom Fields


I was wondering if anyone’s been able to update a custom field in the Opportunity by pulling the data from the contact record custom field or from a 3rd party form such as Gravity Form? Also, is there a way to automatically update the stage based on tag application?

I appreciate your response in advance.