Thank you both a lot, you were of great help!
Thanks to your suggestions, this is the code that ended up working for me:
var myWorkspace = Blockly.getMainWorkspace();
var xml = document.getElementById("toolbox");
var cat;
var categories = $('#toolbox').find('category');
for(var i = 0; i < categories.length; i++){
if(categories[i].attributes['name'].value == 'CUSTOM' ){
cat = categories[i];
break;
}
}
var xmlDoc = new DOMParser().parseFromString('<block type="text"><field name="TEXT">Hello World</field></block>', 'text/xml');
cat.appendChild(xmlDoc.documentElement);
myWorkspace.updateToolbox(xml);
Blockly.getMainWorkspace().getToolbox().clearSelection();