To create a new action, create a new class and inherit from Action. Override the Perform method and return EActionStatus.Success as below.

using SGOAP;

public class FooAction : Action
{
	// This is called before the action begins. 
	// This is useful for a final check, such as CanIReallyAttack?
	public override bool PrePerform()
  {
  }

	// This is called when the action is being executed by the agent.
	// In here, you want to add the main logic for your action.
	// For example, a TriggerAnimationAction will call Animator.SetTrigger(triggerName);
	public override EActionStatus Perform()
  {
		// Returning success will automatically finishes the action.
		return EActionStatus.Success;
  }

	// Called after your action successfully performs. This is useful for updating app's states.
  public override bool PostPerform()
  {
  }
}