func (m CreateMessageAndPushToDevice) Run() { v := visit.Visit{PhoneNumber: m.TwilioResponse.Get("From")} _, err := v.GetByPhoneNumber(m.Env) if err != nil { logError(m.Env, err) } // Handle survey right off the bat. if v.Survey { // Send precanned message to user... msg := message.Message{ VisitID: v.ID, Text: "Thanks for getting back to me, I really appreciate it :) -Samantha", IsBusiness: true, } _, err = msg.Create(m.Env) if err != nil { logError(m.Env, err) } jobrunner.Now(jobs.PushToTwilio{Env: m.Env, Message: msg}) } else { msg := message.Message{ Text: m.TwilioResponse.Get("Body"), IsBusiness: false, VisitID: v.ID, } _, err = msg.Create(m.Env) if err != nil { logError(m.Env, err) } msgs := make([]message.Message, 1) msgs[0] = msg pushToDevice(msgs) } }