I sort of did that when starting with Playmaker. Some tips:
Store the player GameObject reference in a global var.
Health: Create a manager that handles that issue, only for player (therefore, player HP should be a global var). Each foe should manage it's own HP.
Shoot: I made 3 states for my foes: Idle, Following, Attacking. When in 'atk' state, they SmoothLookAt the player and instantiate a bullet object, applying velocity on Z axis. Obviously, the look at action will proceed as well while in 'follow' state.
Dealing damage: Have the bullet tell the manager how much damage it'll deal to the player. Detect collision between player and bullet, and send events as needed to deal the damage (that's why the player HP being global is useful). If player is intended to damage, and kill, foes, the same. I'd recommend having a bullet prefab that deals damage only to player, and one only to any foe. I had problems using a shared bullet.
Note that you, most surely, will need about 4 FSM on each character.
Hope that helps you.