I know that OOTB, Service Desk can set the SLA based on prioritys. A customer we'll like to see if there's the posibility to set the SLA based on the impact of the tickets.
Currently that is not something we can do as Impact is part of the calculation for Priority (Impact + Urgency = Priority - based on the priority calc matrix). The SLA engine is currently designed around priorities. However, you could try something like using service contracts with service levels attached and have those trigger via an event/condition - that being, impact is set to a certain value. You would need to have it as an auto-event that is attached to every ticket that gets opened. Just a word of caution on that that though - it can create a lot of overhead work for the system in the background making for possible performance impacts, so just keep that in mind.
Did Jon suggestion answer your question?
Jason, you would need some customization for this. You can either add a trigger to cr/chg/iss to trigger your spel code
to map the impacts to categories which will bring in the service types. Or you can add some js function when save button is clicked. For the later one, please take a look at
How can I prompt that a incident ticket field is required