Skip to content

Send all incoming and/or outgoing calls or text messages against set rules to webhook.

License

Notifications You must be signed in to change notification settings

syncloudsoftech/mobserve

Repository files navigation

Mobserve

If you ever wanted a tool to simply push the calls and SMS (or text messages) from your phone to somewhere remote, this is it. This app matches all missed (in case of calls), incoming and/or outgoing calls text messages against set rules and sends them over to webhook that you define.

Build Release Downloads License

If you find this app useful, send over your hugs 🤗 to Syncloud Softech.

Usage

The app sends tiny payload similar to what's shown below on the remote webhook (as JSON body in a POST request):

{
    "event": "call",
    "direction": "incoming",
    "participant": "+919876543210",
    "duration": 143,
    "date": 1609459200000
}
{
    "event": "sms",
    "direction": "incoming",
    "participant": "+919876543210",
    "content": "Your OTP for login is 123456.",
    "date": 1609459200000
}

You can use services like Pipedream to process these payloads and do stuff e.g., sending over to a Slack channel using below code:

import { axios } from "@pipedream/platform"

const colors = {
  'incoming': '#00aeff',
  'outgoing': '#7ac143',
  'missed': '#e4002b',
}

const events = {
  'call': 'phone call',
  'sms': 'text message',
}

export default defineComponent({
  async run({ $, event }) {
    const content = event.body.event === "call"
      ? `Call duration was ${event.body.duration} seconds.`
      : (event.body.content || 'No message body was specified.');
    return await axios($, {
      url: 'https://hooks.slack.com/services/<webhook>',
      method: 'post',
      data: {
        text: `New ${event.body.direction} ${events[event.body.event]} captured.`,
        attachments: [{
          author_name: event.body.participant,
          color: colors[event.body.direction],
          footer: 'Mobserve',
          text: content,
          ts: event.body.date / 1000,
        }],
      },
    })
  },
})

Download

You can download the latest version from Releases page.

License

See LICENSE file.