Complex spreadsheet script optimization
From my research, the slowest part of your script is by far SpreadsheetApp.openById(docid), there is nothing much you can do about that. I am not sure how this script will behave once you have a 100 instances of it running, but my prediction is that it will be bad..

Furthermore from a once over:


You never use cell in var cell = sheetFrom.getRange('A1').offset(lastRow, 0);
You never use row2 in for (var row2 in values2Rule1) {, I dont think you need it
You only have to declare cellreference and getsheet once
You should consider lowerCamelCasing: getsheet -> getSheet, cellreference -> cellRefeference
getSheet is a terrible name, you should name the variable of the sheet:

var monitoringSheet = doc.getSheetByName("monitoring");

You call doc.getSheetByName("monitoring") twice, you could simply:

var toSheet = monitoringSheet;  

Instead of reading one cell value and then assigning it to another, you could simply use copyTo:

var dataSheet = doc.getSheetByName("getdata");
// Get url from C1 and insert to multiple-referenced cell C4
var c1 = getsheet.getRange("C1"),
var c4 = getsheet.getRange("C4");
c1.copyTo(c4);

At the end you already had a reference to C4, so you could simply:

c4.setValue( 'blockxmlimport' );