# Send emoji reactions > The code on this page works with either the **default UI** or the **custom UI**. Send and receive emoji reactions and feedback with the SDK through the `IEmojiReactionController`. ```cpp IEmojiReactionController* emojiReactionController = meetingService->GetMeetingEmojiReactionController()→→→val emojiReactionController = ZoomSDK.getInstance().inMeetingService.emojiReactionController; ``` To send reactions, first check that reactions are supported in the current meeting. Then, use `SendEmojiReaction`. ```cpp if (emojiReactionController->IsEmojiReactionEnabled()){ emojiReactionController->SendEmojiReaction(SDKEmojiReactionType_Clap); } ``` The `SDKEmojiReactionType` enum does not support all unicode emojis. These are the available values. - `SDKEmojiReactionType_Clap` - `SDKEmojiReactionType_Thumbsup` - `SDKEmojiReactionType_Heart` - `SDKEmojiReactionType_Joy` - `SDKEmojiReactionType_Openmouth` - `SDKEmojiReactionType_Tada` Emoji feedback is also supported, but is done through a separate method. ```cpp emojiReactionController->SendEmojiFeedback(SDKEmojiFeedbackType_Yes); ``` These feedback types are supported. - `SKEmojiFeedbackType_Yes` - `SKEmojiFeedbackType_No` - `SKEmojiFeedbackType_SpeedUp` - `SKEmojiFeedbackType_SlowDown` - `SDEmojiFeedbackType_Away` To get updates related to emoji reaction and feedback, implement the `IEmojiReactionControllerEvent` i nterface and pass it into the `IEmojiReactionController` using the `SetEvent` method. ```cpp void OnEmojiReactionReceived(unsigned int sender_id, SDKEmojiReactionType type) { // Received emoji reaction from user with sender_id of type type } void OnEmojiReactionReceivedInWebinar(SDKEmojiReactionType type) { // Received emoji reaction of type type in webinar } void OnEmojiFeedbackReceived(unsigned int sender_id, SDKEmojiFeedbackType type) { // Received emoji feedback from user with sender_id of type type } void OnEmojiFeedbackCanceled(unsigned int sender_id) { // Emoji cancelled by user with id sender_id } emojiReactionController->SetEvent(event); ``` These callbacks are triggered when any participant sends a reaction or feedback in a meeting with the user ID of the participant who sent or canceled the reaction or feedback. Additionally, there is a dedicated callback for when reactions are sent by webinar attendees anonymously. ---