For certain contacts, I want to silence vibration for incoming calls and SMS messages.
I am not asking about silencing the audio notification and ringtone. This is already well documented.
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It only takes a minute to sign up.
Sign up to join this communityAutomation is the preferred option. Many apps are available. I prefer using MacroDroid , since it is free (upto 5 macros) and easy to learn. To understand how MacroDroid works and required settings, my answer here
Your macros would look like this
Triggers:
Call incoming → Select contact →Choose from contacts
SMS received → Select contact →Choose from contacts
Actions:
Vibrate Enable/ Disable → Set Vibrate and set Normal (Vibrate off). Click OK
Constraints: None (leave blank)
Triggers:
Call incoming → Select contact →Choose from contacts
SMS received → Select contact →Choose from contacts
Actions:
Vibrate Enable/ Disable → Set Vibrate and set Silent (Vibrate on). Click OK
Constraints: None (leave blank)
Explanation
Your question explicitly asks only for vibration to be silenced (but ring tone would be heard)
Macro 1 does that for both incoming calls and SMS for selected contacts
Macro 2 does the opposite for contacts other than selected in Macro 1 (you have to choose others- if you don't reverse Macro 1 action, vibration would be off for all)
Tested on Moto X Play Marshmallow (6.0.1)