title: Why is my custom intent mixing parameters?
body: <p>I have a custom intent for app actions to say something like these sentences:</p>
  <ol>
  <li>Hey Google, open MyCookingApp to bake a Cake for 10 minutes</li>
  <li>Hey Google, open MyCookingApp to bake a Pizza for 15 minutes</li>
  <li>Hey Google, open MyCookingApp to bake a Pizza (here the user doesn't specify any time)</li>
  </ol>
  <p>To do this I use this custom intent:</p>
  <pre><code>&lt;action intentName=&quot;custom.actions.intent.BAKE_SOMETHING&quot; queryPatterns=&quot;@array/ExampleQueries&quot;&gt;
      &lt;!-- Define parameters --&gt;
      &lt;parameter name=&quot;text1&quot; type=&quot;https://schema.org/Text&quot; /&gt;
      &lt;parameter name=&quot;number1&quot; type=&quot;https://schema.org/Number&quot; /&gt;
  
      &lt;!-- Define fulfillment --&gt;
      &lt;fulfillment urlTemplate=&quot;https://my.app.com/{?item_name,number_of_minutes}&quot;&gt;
          &lt;parameter-mapping intentParameter=&quot;text1&quot; urlParameter=&quot;item_name&quot; /&gt;
          &lt;parameter-mapping intentParameter=&quot;number1&quot; urlParameter=&quot;number_of_minutes&quot; /&gt;
      &lt;/fulfillment&gt;
  &lt;/action&gt;
  </code></pre>
  <p>And this is the ExampleQueries:</p>
  <pre><code>&lt;string-array name=&quot;ExampleQueries&quot;&gt;
      &lt;item&gt;bake a $text1&lt;/item&gt;
      &lt;item&gt;bake a $text1 for $number1 minutes&lt;/item&gt;
  &lt;/string-array&gt;
  </code></pre>
  <p>If I just say &quot;open MyCookingApp to bake a Pizza&quot; then I get item_name=&quot;Pizza&quot; and number_of_minutes=null, which is <strong>correct</strong>!!</p>
  <p>But if I say &quot;open MyCookingApp to bake a Pizza for 15 minutes&quot; then I get item_name=&quot;Pizza for 15 minutes&quot; and number_of_minutes=15, which is <strong>WRONG</strong>!! Why do I get &quot;Pizza for 15 minutes&quot; as the the first parameter?</p>
  <p>I have tried to have 2 different custom intents. One for only the item &quot;bake a $text1&quot; and another one for the item &quot;bake a $text1 for $number1 minutes&quot; but I get same results. It seems like the Assistant takes the &quot;easiest&quot; way. I mean, if &quot;bake a $text1&quot; is provided, then everything after &quot;bake a&quot; will be considered a string. But in this case why do I get a real value for number_of_minutes? It should be null, right?</p>
  <p>Any body can show some light here. Basically I need to ask the users for a first string value, and then an <strong>optional</strong> number.</p>