You can set this up by activity or by inactivity, either way it shouldn't matter. It will probably require multiple smart lists. Not Visited Webpage (is any), Not Filled out Form (is any), Not opened Email (is any), Not clicked Email (is any), Not was sent email (is any), etc.. All with Date of activity, longer than 3 months. Then run a triggered smart campaign based off of a member of smart list, flow step interesting moment.
Make sense? I didn't actually setup the smart lists to make sure the syntax is 100% correct.