As Schatten said, in the specific response where Salmo is supposed to give the player the note, use:
game.getplayer().additem(BookProperty, 1)
quest_name.setstage(); advance the quest to the next stage.
note this will not be transferring any items from Salmo's inventory, but instead creating a new object inside the player's inventory.
After you add these script fragments to the specific response. Immediately click ok, it will say that it failed to compile, this is okay!
Save the object, save your mod. Then reopen the quest object, and navigate back to where you put the script fragment. click the script, and go to properties, pressing ok or yes until you arrive at the property window. Add a book property named "BookProperty" and once it appears set it to your note that you wish to have added to the player's inventory.
When the player eventually arrives at Koris, add a condition to his/her response, GetItemCount "YourNote" >= 1 Run this condition of the Player. Then add this script fragment:
When you talk to koris just do:
game.getplayer().removeitem(BookProperty, 1)
quest_name.setstage(); advance the quest to the next stage.
Just like before save this quest object, without setting a property to start with. Save your mod, then reopen the quest. Add a book property to the new script fragment, and point it to your note.
This should help you achieve what you're desiring.
EDIT: You can use GetOwningQuest.SetStage(), as it has the same effect, but only if the responses are inside the of the quest you want to set the new stage for. Non-Latent native functions are brilliant.