Set SuperTableFields programatically
So it looks like you must get the correct block type in order for this to create new rows in the SuperTable.

First get the block type using the SuperTable service:

       //you'll need to reference this in your code
       use verbb\supertable\SuperTable;

       $field = Craft::$app-&gt;getFields()-&gt;getFieldByHandle('siteCustom');
       $blockType = SuperTable::$plugin-&gt;service-&gt;getBlockTypesByFieldId($field-&gt;id)[0];


Then use that same blockType id to set the type field:

       $globalSet = Craft::$app-&gt;globals-&gt;getSetByHandle("myGlobals");  

       $globalSet-&gt;setFieldValues([
              'siteName' =&gt; "The Website",
              'siteCustom' =&gt; [
                   'new1' =&gt; [
                          'type' =&gt; $blockType-&gt;id,
                          'fields' =&gt; [
                              'firstField' =&gt; "some value",
                              'secondField' =&gt; "some other value"
                           ]
                   ]
               ]
       ]);

       Craft::$app-&gt;globals-&gt;saveSet($globalSet);


If you need to add more than one value to siteCustom you can do so with the same syntax, just make sure you increment the number after new each time (so new2, new3, and so on).