Skip to content

GV Connect

GV Connect is a Google Voice client for iPhone, iPod touch, and iPad. Protocol Launcher allows you to generate official GV Connect URL scheme links.

GV Connect documents these handlers as case-sensitive and requiring proper URL encoding. Most handlers also accept an optional account parameter for multi-account setups.

For SMS group recipients, GV Connect documents a maximum of five numbers separated by commas.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Open GV Connect

On-Demand
ts
import { open } from 'protocol-launcher/gv-connect'

const url = open()

Open Tab

On-Demand
ts
import { openTab, openCallTab, openSmsTab, openVoicemailTab, openHistory, openSettings } from 'protocol-launcher/gv-connect'

const historyUrl = openTab({
  tab: 'history',
})

const callTabUrl = openCallTab()
const smsTabUrl = openSmsTab()
const voicemailUrl = openVoicemailTab()
const recentHistoryUrl = openHistory()

const settingsUrl = openSettings({
  account: 'Work Voice',
})

Dial Number

On-Demand
ts
import { dial } from 'protocol-launcher/gv-connect'

const url = dial({
  number: '+15551234567',
})

const favoritesUrl = dial({
  number: 'FAVORITES',
})

Start Call

On-Demand
ts
import { call } from 'protocol-launcher/gv-connect'

const url = call({
  number: '+15551234567',
  callMethod: 'DirectCall',
})

Compose SMS

On-Demand
ts
import { sms, smsRecipient } from 'protocol-launcher/gv-connect'

const recipientOnlyUrl = smsRecipient({
  number: '+15551234567',
})

const url = sms({
  number: ['+15551234567', '+15557654321'],
  message: 'On my way',
})

Quick Setting

On-Demand
ts
import { quickSetting } from 'protocol-launcher/gv-connect'

const url = quickSetting({
  name: 'Office',
  account: 'Work Voice',
})

Generated URLs

ts
open()
// => 'gvconnect://'

openTab({ tab: 'history' })
// => 'gvconnect://history'

openCallTab()
// => 'gvconnect://call'

openSmsTab()
// => 'gvconnect://sms'

openVoicemailTab()
// => 'gvconnect://vm'

openHistory()
// => 'gvconnect://history'

openSettings({ account: 'Work Voice' })
// => 'gvconnect://settings?account=Work%20Voice'

dial({ number: '+15551234567' })
// => 'gvconnect://call?%2B15551234567'

call({ number: '+15551234567', callMethod: 'DirectCall' })
// => 'gvconnect://call?number=%2B15551234567&callmethod=DirectCall'

smsRecipient({ number: ['+15551234567', '+15557654321'] })
// => 'gvconnect://sms?%2B15551234567%2C%2B15557654321'

sms({ number: '+15551234567', message: 'On my way' })
// => 'gvconnect://sms?number=%2B15551234567&message=On%20my%20way'

quickSetting({ name: 'Office' })
// => 'gvconnect://quicksetting?Office'

Official Documentation