title: MS Bot Builder: how to set session data to proactive message?
body: <p>I first send a proactive message to the user via sms channel inside OAuthCallback method</p>
  
  <pre><code> var connector = new ConnectorClient();
   Message message = new Message();
   message.From = new ChannelAccount { Id = Constants.botId, Address = "+12312311", ChannelId = "sms", IsBot = true };
   message.To = new ChannelAccount { Id = newUserId, Address = "+18768763", ChannelId = "sms", IsBot = false };
   message.Text = $"How are you doing? ";
   message.Language = "en";
   connector.Messages.SendMessage(message);
  
   IBotData myDataBag = new JObjectBotData(message);
  
   myDataBag.UserData.SetValue("Username", "Bob");
   myDataBag.PerUserInConversationData.SetValue("Newuser", "yes");
  </code></pre>
  
  <p>Then in my main Dialog.cs I try to access it</p>
  
  <pre><code>public static readonly IDialog&lt;string&gt; dialog = Chain
      .PostToChain()            
      .Switch(new Case&lt;Message, IDialog&lt;string&gt;&gt;((msg) =&gt;
      {
          var regex = new Regex("hello$", RegexOptions.IgnoreCase);
          return regex.IsMatch(msg.Text);
      },
      (ctx, msg) =&gt;
      {
          // Clearing user related data upon logout
          string isnewuser = ctx.PerUserInConversationData.TryGetValue("Newuser");
          string username = ctx.UserData.TryGetValue("Username");
          return Chain.Return($"Welcome {username}");
      }))
      .Unwrap()
      .PostToUser();
  </code></pre>
  
  <p>I receive the message on my phone. However, I am not able to get back the username and newuser session data saved inside OAuthCallback.</p>
  
  <p>I suspect that this is happening because the proactive message does not have conversationId set. And the conversationId must differ somehow.</p>
  
  <p>so how can I get it to set session data to my proactive message in the future conversation?</p>