public async Task StartAsync(IDialogContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var activity = (IMessageActivity)context.Activity;

            EndUserAndAgentConversationMappingState mappingState =
                await VsoHelper.GetStateFromVsoGivenAgentConversationId(activity.Conversation.Id);

            if (ActivityHelper.HasAttachment(activity))
            {
                await context.PostWithRetryAsync(
                    $"Sending file attachments to user is not supported. " +
                    $"Please send it via SharePoint > Share > Email. Email is in VSO ticket");
            }
            else
            {
                await ActivityHelper.SendMessageToUserEx((IMessageActivity)context.Activity,
                                                         mappingState.EndUserName,
                                                         mappingState.EndUserId,
                                                         activity.Text.Replace(DialogMatches.ReplyToUser + " ", ""),
                                                         mappingState.VsoId);
            }

            await OnlineStatus.SetMemberActive(
                context.Activity.From.Name,
                context.Activity.From.Id,
                OnlineStatus.AgentMemberType);

            context.Done <object>(null);
        }