title: How to trigger firestore cloud functions on update of field value?
body: <p>I want to send email to user on update of status field of user to value (true) using firestore and cloud functions.</p>
  
  <p>My case :
  I have a users(collections) which has more documents of userId(documents) and each document contains field and value.
  One of the field is status: true | false (boolean).</p>
  
  <p>I want to send email to that user if status of that user change to true using cloud functions and sendgrid api.</p>
  
  <pre><code>users
     - dOpjjsjssdsk2121j131
          - id : dOpjjsjssdsk2121j131
          - status : false
     - pspjjsjssdsdsk2121j131
          - id : pspjjsjssdsdsk2121j131
          - status : false
     - yspjjsjssdsdsk2121j131
          - id : yspjjsjssdsdsk2121j131
          - status : false
  
  
  const functions = require('firebase-functions');
  const admin = require('firebase-admin');
  admin.initializeApp();
  const SENDGRID_API_KEY = functions.config().sendgrid.key;
  const sgMail = require('@sendgrid/mail');
  sgMail.setApiKey(SENDGRID_API_KEY);
  exports.sendEmail = functions.firestore.document('users/{userId}')
    .onUpdate((change, context) =&gt; {  
     const after = change.after.val();
  
      if(after.status === 'VERIFIED'){
        console.log('profile verified')
        const db = admin.firestore();
  
        return db.collection('users').doc(userId)
        .get()
        .then(doc =&gt; {
           const user = doc.data();
           const msg = {
             to: 'email',
             from: 'email',
             templateId: 'template id',
             dynamic_template_data: {
              subject: 'Profile verified',
              name: 'name',
          },
         };
  
         return sgMail.send(msg)
     })
     .then(() =&gt; console.log('email sent!') )
     .catch(err =&gt; console.log(err) )
  
      } 
  
    });
  </code></pre>