It has been explained many times over the internet, so I won’t cover that.
One thing you have to pay attention to is, if you run snmptt as a daemon, be sure that it has the right to write to Nagios FIFO. On my Debian system, I had to run snmptt as nagios user.
Then, when you convert the MIBs to snmptt.conf file format, sometimes it will fail because the MIB is not RFC compliant. Most of the times, object definitions contain underscores (_) or dots (.) . Just sed them.
Also, I find some traps a bit strange. Like Veeam Backup & Replication traps, there is only one trap for Success, Warning and Failed backup events. So it’s not like the status of switch port where you get one trap for linkDown and one trap for linkUp.
I ended up with a simple wrapper called by snmptt to extract the trap status and then send the correct status to Nagios.
I guess I will find other strange things as I add more and more traps to the system.