Satisfiability procedures are used to check if a formula representing a constraint has a solution. They are gaining popularity as core engines for a number of applications. These procedures can be adapted for uses beyond testing satisfiability. We describe the underlying ideas and enumerate some of the applications and extensions of satisfiability procedures for verification, test generation, planning, and scheduling.