Make camera rotate when other object collides

I’m trying to understand how and if you could control camera (or another object with camera as child) with OnTriggerEnter or OnCollisionEnter, an object that is not near the Trigger or Collider.
Like this; I have a main object that we can call Ball, when Ball touches an area or collides with an object, lets call that a Cube, I want the Camera to zoom in. (Not using mouse Control.)
I understand how to make a simple OnCollisionEnter and OnTriggerEnter, but I have not found the right solution to this (been reading several long hours…) could anyone point me to the right direction. Perhaps I should forget about CollisionEnter or TriggerEnter and instead think in some other direction?

I think theres another solution for zooming, maybe something with field of view, but want about easily moving the camera?

private bool moveCamera;
public GameObject camera;

void OnTriggerEnter ()
{
 moveCamera = true;
}

void OnTriggerExit ()
{
 moveCamera = false;
}

void Update ()
{
 if(moveCamera)
  camera.rigidbody.AddRelativeForce(Vector3.forward * 10);
}

Thanks for tip. I tried this, but could not make the script to function, that might have been due to me lacking scripting experience rather than any fault with the suggestion in itself. Moving camera instead of zooming will work fine, the thing is I would like to both move and rotate camera. Still, I can’t figure out how to do this. The principle is that it should work like a remote control, two objects colliding and then something happens with the camera (or other object) far away. Any other suggestion would be great. I could not get any clue from Unity why I didn’t manage with the script above. I believe it could be done by activating and deactivating a script but don’t know how. (I’m writing in C#, just because the tutorials are in that).