I think I figured it out.
You have to create a notification request before a new notification when you're making an instant notification:
notification::request::new \
-type_id [notification::type::get_type_id -short_name task_added_notif] \
-object_id $p_id \
-user_id $user_id \
-interval_id [notification::interval::get_id_from_name -name instant] \
-delivery_method_id [notification::delivery::get_id -short_name email]
I follow this with the notification::new portion above.