Find Me/Follow Me GraphQL APIs

This page describes the GraphQL API for Find Me/Follow Me.

Scope: gql:findmefollow

 

 


Fetch Follow Me

Returns the follow me settings for a single extension.

API - fetchFollowMe

API Parameters

Name

Field

Type

Default

Description

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

 

Specifiy the extension to fetch follow me details.

 

API Query Fields

Types with a exclamation mark are guaranteed to be non-null.

Name

Type

Description

Name

Type

Description

id

ID!

The ID of an object

status

Boolean

Status of the request

message

String

Message for the request

enabled

Boolean!

If enabled, any call to this extension will go to this follow me instead, including directory calls by name from IVRs. If disabled, calls will go only to the extension. However, destinations that specify FollowMe will come here. This setting is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here.

extensionId

ID!

Follow Me Extension Number

strategy

ringstrategiesv2

Ring strategy for `followMeList`

ringTime

Int

Time in seconds that the phones will ring. Max 60 seconds

followMePrefix

String

CID Name Prefix like `Sales:`

followMeList

String

The numbers that will be dialed. Numbers are `-` separated. External numbers should have a `#` suffix.

callerMessage

ID

System Recording ID. Announcement played to caller

noAnswerDestination

String

Destination after `followMeList` is rung and there was no answer

alertInfo

String

Alert Info can be used for distinctive ring with SIP devices. If you are having issues, see the "Enforce RFC7462" option found in Settings > Advanced Settings.

confirmCalls

Boolean

Enable this if you are calling external numbers that need confirmation. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the `ringall` ring strategy

receiverMessageConfirmCall

ID

System Recording ID. Message to be played to the person RECEIVING the call, if `confirmCalls` is enabled.

receiverMessageTooLate

ID

System Recording ID. Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

ringingMusic

String

Default `Ring`. Custom values will be the category name of "On Hold Music".

initialRingTime

Int

Initial Ring Time. This is the number of seconds to ring the primary extension prior to proceeding to the `followMeList`. The extension can also be included in the `followMeList`. A 0 setting will bypass this.

enableCalendar

Boolean

Enable calendar for follow me (either group or single calendar)

matchCalendar

Boolean

This determines how matching an event is handled (`enableCalendar` must be true to activate). If true, then follow me will match whenever there is an event. If false, follow me will match whenever no event is present

calendar

ID

Calendar ID

calendarGroup

ID

Calendar Group ID

overrideRingerVolume

Int

Ringer Volume Override. Note: This is only valid for Sangoma phones at this time

externalCallerIdMode

externalcidmode

Choose the CID Mode from the `externalcidmode` enum. Default is `default`.

fixedCallerId

String

Fixed CID Value. Fixed value to replace the CID with used with `externalCallerIdMode` fixed modes. Should be in a format of digits only with an option of E164 format using a leading `+`.

 

API Examples:

API Request (fetchFollowMe)

query {   fetchFollowMe(extensionId: "101") {     id     message     status     enabled     extensionId     strategy     ringTime     followMePrefix     followMeList     callerMessage     noAnswerDestination     alertInfo     confirmCalls     receiverMessageConfirmCall     receiverMessageTooLate     ringingMusic     initialRingTime     voicemail     enableCalendar     calendar     calendarGroup     matchCalendar     overrideRingerVolume     externalCallerIdMode     fixedCallerId   } }

API Response (fetchFollowMe)

{   "data": {     "fetchFollowMe": {       "id": "ZXh0ZW5zaW9uOaEwMw==",       "message": "Record found successfully",       "status": true,       "enabled": false,       "extensionId": "101",       "strategy": "ringallv2",       "ringTime": 20,       "followMePrefix": null,       "followMeList": "101-2317094162#",       "callerMessage": null,       "noAnswerDestination": "ext-local,101,dest",       "alertInfo": null,       "confirmCalls": null,       "receiverMessageConfirmCall": null,       "receiverMessageTooLate": null,       "ringingMusic": "Ring",       "initialRingTime": 7,       "voicemail": "default",       "enableCalendar": null,       "calendar": null,       "calendarGroup": null,       "matchCalendar": true,       "overrideRingerVolume": null,       "externalCallerIdMode": "default",       "fixedCallerId": null     }   } }

 

Enable Follow Me

Enable follow me for the specified extension.

API - enableFollowMe

API Input

Name

Field

Type

Default

Description

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

 

Specify the extension to enable follow me

API Examples:

API Request (enableFollowMe)

mutation {   enableFollowMe(input: {     extensionId: "101"   }) { message status } }

API Response (enableFollowMe)

 

Disable Follow Me

Disable follow me for the specified extension.

API - disableFollowMe

API Input

Name

Field

Type

Default

Description

Name

Field

Type

Default

Description

extensionId

Mandatory

ID

 

Specify the extension to disable follow me

 

API Examples:

API Request (disableFollowMe)

API Response (disableFollowMe)

 

Update Follow Me

Update the follow me settings. You can only set a value for either calendar or calendarGroup, but not both.

API - updateFollowMe

API Input

Types with a exclamation mark are required input parameters.

Name

Type

Description

Name

Type

Description

extensionId

ID!

Follow Me Extension Number

enabled

Boolean!

If enabled, any call to this extension will go to this follow me instead, including directory calls by name from IVRs. If disabled, calls will go only to the extension. However, destinations that specify FollowMe will come here. This setting is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here.

strategy

ringstrategiesv2

Ring strategy for `followMeList`

ringTime

Int

Time in seconds that the phones will ring. Max 60 seconds

followMePrefix

String

CID Name Prefix like `Sales:`

followMeList

String

The numbers that will be dialed. Numbers are `-` separated. External numbers should have a `#` suffix.

callerMessage

ID

System Recording ID. Announcement played to caller

noAnswerDestination

String

Destination after `followMeList` is rung and there was no answer

alertInfo

String

Alert Info can be used for distinctive ring with SIP devices. If you are having issues, see the "Enforce RFC7462" option found in Settings > Advanced Settings.

confirmCalls

Boolean

Enable this if you are calling external numbers that need confirmation. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the `ringall` ring strategy

receiverMessageConfirmCall

ID

System Recording ID. Message to be played to the person RECEIVING the call, if `confirmCalls` is enabled.

receiverMessageTooLate

ID

System Recording ID. Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

ringingMusic

String

Default `Ring`. Custom values will be the category name of "On Hold Music".

initialRingTime

Int

Initial Ring Time. This is the number of seconds to ring the primary extension prior to proceeding to the `followMeList`. The extension can also be included in the `followMeList`. A 0 setting will bypass this.

enableCalendar

Boolean

Enable calendar for follow me (either group or single calendar)

matchCalendar

Boolean

This determines how matching an event is handled (`enableCalendar` must be true to activate). If true, then follow me will match whenever there is an event. If false, follow me will match whenever no event is present

calendar

ID

Calendar ID

calendarGroup

ID

Calendar Group ID

overrideRingerVolume

Int

Ringer Volume Override. Note: This is only valid for Sangoma phones at this time

externalCallerIdMode

externalcidmode

Choose the CID Mode from the `externalcidmode` enum. Default is `default`.

fixedCallerId

String

Fixed CID Value. Fixed value to replace the CID with used with `externalCallerIdMode` fixed modes. Should be in a format of digits only with an option of E164 format using a leading `+`.

 

API Examples:

API Request (updateFollowMe)

API Response (updateFollowMe)

 

Enums

In GraphQL, the enum type is special kind of scalar that is restricted to a particular set of allowed values. When passed as input for a mutation, it should not be quoted like a string. However, due to the nature of JSON, when returned from a query it will be quoted.

ringstrategiesv2

Value

Description

Value

Description

ringallv2

Ring Extension for duration set in Initial Ring Time, and then, while continuing call to extension (only if extension is in the Group List), ring `followMeList` for duration set in `ringTime`.

ringallv2prim

Ring Extension for duration set in Initial Ring Time, and then, while continuing call to extension (only if extension is in the Group List), ring `followMeList` for duration set in `ringTime`. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

ringall

Ring all available channels until one answers (default)

ringallprim

Ring all available channels until one answers. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

hunt

Take turns ringing each available extension

huntprim

Take turns ringing each available extension. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

memoryhunt

Ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc

memoryhuntprim

Ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc. If the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung

firstavailable

Ring only the first available channel

firstnotonphone

Ring only the first channel which is not offhook - ignore CW

 

externalcidmode

Value

Description

Value

Description

default

Default: Transmits the Callers CID if allowed by the trunk.

fixed

Fixed CID Value: Always transmit the Fixed CID Value below.

extern

Outside Calls Fixed CID Value: Transmit the Fixed CID Value below on calls that come in from outside only. Internal extension to extension calls will continue to operate in default mode.

did

Use Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension to extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This will be BLOCKED on trunks that block foreign CallerID

forcedid

Force Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension to extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This WILL be transmitted on trunks that block foreign CallerID

 

Return to Documentation Home I Return to Sangoma Support