How to limit the number of message that an Arduino sends to a phone without terminating it
You use millis() to keep track of time and also prevent blocking. Replicating your program logic:

long soil_timer = 0;
long tilt_timer = 0;
char soil_flag = 1;
char tilt_flag = 1;

void loop() { 
    int soilSensor = analogRead(A0); 
    int tiltSensor = analogRead(A1); 

  if (soil_flag == 1) {
    if (soilSensor &gt;= 10) { 
      digitalWrite(22, HIGH);
      Serial.println(soilSensor);
      sendSMS1(); 
    }
   else { 
      digitalWrite(22, LOW);
    }
    soil_timer = millis();
    soil_flag = 0;
  }

  if (tilt_flag == 1) {
    if (tiltSensor &gt;= 100) { 
       digitalWrite(led, HIGH); 
       Serial.println(tiltSensor);
       sendSMS2();
    } 
    else { 
       digitalWrite(led, LOW); 
       Serial.println(tiltSensor);
    } 
    tilt_flag = 0;
    tilt_timer = millis();
  }
  if (millis() - soil_timer &gt;= 60000){
     soil_flag = 1;
  }
  if (millis() - tilt_timer &gt;= 60000){
     tilt_flag = 1;
  }
}