Offers: Call Flow

Individual rules in an offer's call flow controlling greetings, IVR menus, dialing, hold queues and exception handling.

GET /call_routers

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers

List Call Flow records.

Lists the Call Flow rules that control call handling, exception handling, and hold queue handling on offers. Filter by offer_id to scope to a single offer.

Params

Param name Description
ids
Optional

Return records matching these ids.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

offer_id
Optional

Assign the record to this Offer.

page
Optional

Return the next page of results.

  • Must be a number.

per_page
Optional

How many results to return per page. The default is 25.

  • Must be a number.

created_at_to
Optional

Date formatted like 2016-01-01 12:25:15 -0500

  • Must be a String

created_at_from
Optional

Date formatted like 2016-01-01 12:25:15 -0500

  • Must be a String

fulltext
Optional

Search for any record that matches this text

  • Must be a String

time_zone
Optional

Date ranges will be parsed using this time zone.

columns
Optional
Specify the columns you would like returned by the API for a given resource. Limiting the columns can significantly increase API response time since only the requested data will be processed. columns=uuid,number,created_at

Must be any combination of:

  • id
  • legacy_id
  • type
  • uuid
  • created_at
  • updated_at
  • deleted_at
  • user_updated_at
  • routes_show_path
  • routes_edit_path
  • external_record_id
  • category
  • name
  • context_menu_name
  • offer_id
  • message_type
  • message_action
  • message_loop
  • text_to_speech
  • text_to_speech_gender
  • router_action
  • action_option
  • buyer_ids
  • buyer_offer_ids
  • buyer_group_ids
  • sortable_order
  • schedule_id
  • outbound_timeout_seconds
  • router_type
  • description
  • message_action_type
  • key_press_timeout_seconds
  • perform_action_if_buyer_is_available
  • inbound_call_route_async
  • backup_buyer_ids
  • backup_buyer_group_ids
  • use_sound_playlist
  • sound_playlist_id
  • hold_music_sound_playlist_id
  • voicemail_sound_playlist_id
  • has_schedule
  • has_extension_pool
  • allows_outgoing_webhooks
  • use_with_find_a_buyer
  • use_with_key_press_flows
  • key_press_flow_group_id
  • auto_retry_next_buyer
  • auto_retry_next_buyer_seconds
  • has_extension_actions
  • has_schedule_action
  • can_dial
  • can_alter_traffic_source
  • max_call_disposition_wait_seconds
  • hold_queue_caller_limit
  • hold_queue_percentage_size
  • max_hold_seconds
  • max_hold_seconds_average
  • fire_call_router_webhooks_before_action
  • action_digit
  • off_hook_calls_per_seat
  • off_hook_unaccepted_wait
  • off_hook_leads_needed
  • audio_file_url
  • voicemail_file_url
  • hold_music_file_url
  • call_router_hangup_reason
  • call_router_answer_group_id
  • off_hook_no_lead_timeout
  • outgoing_webhook_ids
  • after_action_sound_playlist_enabled
  • after_action_sound_playlist_id
  • off_hook_dropped_call_seconds
  • off_hook_drop_limit_1
  • off_hook_drop_cps_1
  • off_hook_drop_limit_2
  • off_hook_drop_cps_2
  • enabled
  • record_token_filter_id
  • record_token_filter_data_count
  • record_token_filter_data
  • record_token_additional_id
  • record_token_additional_data_count
  • record_token_additional_data
  • record_token_buyer_id
  • record_token_buyer_data_count
  • record_token_buyer_data
  • off_hook_dropped_calls
  • Must be a String

root
Optional

Pass root=false to return results without a root node and metadata.
For example:
GET /api/v1/calls?root=false will return [call1, call2, call3]
While:
GET /api/v1/calls will return {calls: [call1, call2, call3], metadata: {}}

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

GET /call_routers/new

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers/new

Build Call Flow Rule with defaults.

Builds a Call Flow Rule with default attributes for the given router_type without saving it.

Params

Param name Description
message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers or Agents
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank value allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank value allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank value allowed

Describe the purpose of this call flow rule.

  • Must be a String

text_to_speech
Optional Blank value allowed

Text To Speech that will be spoken when message_type=speak

  • Must be a String

message_loop
Optional Blank value allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank value allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank value allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank value allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank value allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank value allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank value allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.

name
Optional Blank value allowed

A short label for this call flow rule shown in the call flow list.

  • Must be a String

message_action_type
Optional Blank value allowed

The step this rule performs in the call flow, such as playing a message, dialing buyers, or adding to a hold queue.

  • Must be a String

text_to_speech_gender
Optional Blank value allowed

The voice used for the text_to_speech message, Male or Female.

  • Must be a String

key_press_timeout_seconds
Optional Blank value allowed

How many seconds to wait for a key press before continuing when router_type=press_1_to_accept. When router_type=before_connecting_instant_agent, how many seconds (10 to 600) to wait for the consumer to press a key before hanging up.

  • Must be a decimal number.

traffic_source_action_type
Optional Blank value allowed

How the traffic source should be altered when this rule runs.

  • Must be a String

traffic_source_action_id
Optional Blank value allowed

The traffic source to assign when traffic_source_action_type reassigns the traffic source.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

traffic_source_action_payout
Optional Blank value allowed

The alternate payout applied when traffic_source_action_type sets a new payout.

  • Must be a decimal number.

outbound_timeout_seconds
Optional Blank value allowed

How many seconds an outbound call to an agent is allowed to ring before it is considered unanswered.

  • Must be a decimal number.

use_with_find_a_buyer
Optional Blank value allowed

Only perform this action when a buyer can be matched for the call.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

perform_action_if_buyer_is_available
Optional Blank value allowed

Only perform this action when a buyer is available. Companion setting to use_with_find_a_buyer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer
Optional Blank value allowed

Automatically dial the next buyer if the current one does not answer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer_seconds
Optional Blank value allowed

How many seconds to wait before dialing the next buyer when auto_retry_next_buyer is true.

  • Must be a decimal number.

inbound_call_route_async
Optional Blank value allowed

Route the inbound call asynchronously instead of holding the caller while this rule runs.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

off_hook_no_lead_timeout
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent can go without a matching lead before instant agent dialing stops.

  • Must be a decimal number.

off_hook_calls_per_seat
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many outbound calls to place per available agent seat.

  • Must be a decimal number.

off_hook_unaccepted_wait
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent has to accept an offered call before it is considered unaccepted.

  • Must be a decimal number.

off_hook_leads_needed
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many matching leads must be available before dialing an agent.

  • Must be a decimal number.

off_hook_dropped_call_seconds
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The lookback window, in seconds, used to calculate the dropped call percentage.

  • Must be a decimal number.

off_hook_drop_limit_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The first dropped call percentage threshold that throttles outbound dialing.

  • Must be a decimal number.

off_hook_drop_cps_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_1 is exceeded.

  • Must be a decimal number.

off_hook_drop_limit_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The second, higher dropped call percentage threshold that throttles outbound dialing further.

  • Must be a decimal number.

off_hook_drop_cps_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_2 is exceeded.

  • Must be a decimal number.

action_digit
Optional Blank value allowed

Only perform this action if the caller pressed this key.

  • Must be a String

max_call_disposition_wait_seconds
Optional Blank value allowed

How many seconds to wait for an agent to disposition a call before moving on.

  • Must be a decimal number.

call_router_hangup_reason
Optional Blank value allowed

The reason recorded on the call when this rule hangs up the call.

  • Must be a String

fire_call_router_webhooks_before_action
Optional Blank value allowed

Fire this rule’s outgoing webhooks before performing its action instead of after.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

backup_buyer_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow agents dialed when the primary agents in buyer_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

backup_buyer_group_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow buyer groups dialed when the primary agents in buyer_ids/buyer_group_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

voicemail_file
Optional Blank value allowed

The audio file an instant agent can play to a lead’s answering machine when router_type=off_hook_press_to_accept.

  • Must be a valid file upload.

remove_voicemail_file
Optional Blank value allowed

Remove the currently configured voicemail_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

hold_music_file
Optional Blank value allowed

Custom music played to an instant agent while on hold when router_type=off_hook_press_to_accept. Falls back to the default hold music when blank.

  • Must be a valid file upload.

remove_hold_music_file
Optional Blank value allowed

Remove the currently configured hold_music_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

key_press_flow_group_id
Optional Blank value allowed

The key press flow group used to process the caller’s key press response for this rule.

use_sound_playlist
Optional Blank value allowed

Play a random file from a sound playlist instead of a single uploaded audio_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

sound_playlist_id
Optional Blank value allowed

The sound playlist to play from when use_sound_playlist is true.

hold_music_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist played to an instant agent while on hold.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

voicemail_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist an instant agent can play to a lead’s answering machine.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

after_action_sound_playlist_enabled
Optional Blank value allowed

Play a sound playlist after this rule’s action completes.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

after_action_sound_playlist_id
Optional Blank value allowed

The sound playlist played after this rule’s action completes, when after_action_sound_playlist_enabled is true.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

POST /call_routers

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers

Create Call Flow Rule.

Creates a Call Flow Rule for an offer. router_type selects whether the rule governs call handling, exception handling, or hold queue handling, and router_action selects what it does: play a message, dial buyers or buyer groups, redirect to another offer, add the caller to a schedule, or add the caller to a hold queue.

Params

Param name Description
offer_id
Required

Assign the record to this Offer.

router_type
Required

The type of Call Flow Rule.

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    ask_a_questionAsk A Question And Request An Answer
    no_greeting_is_playedHandle Call When No Keypress Is Requested
    connect_ai_voice_agentConnect AI Voice Agent
    when_answering_machine_detectedWhen an answering machine is detected
    before_answering_machine_detectedBefore an answering machine is detected
    greetingPlay A Greeting Message And Request A Keypress
    off_hook_press_to_acceptWhen Getting Instant Agents On The Phone
    key_press_1When 1 is Pressed
    key_press_2When 2 is pressed
    key_press_3When 3 is pressed
    key_press_4When 4 is pressed
    key_press_5When 5 is pressed
    key_press_6When 6 is pressed
    key_press_7When 7 is pressed
    key_press_8When 8 is pressed
    key_press_9When 9 is pressed
    key_press_#When # is pressed
    key_press_*When * is pressed
    key_press_0When 0 is pressed
    no_key_pressWhen nothing is pressed
    any_other_key_pressWhen anything is pressed
    calling_buyer_musicCalling Buyer Music Played to Caller during Transfers
    whisperWhisper To Buyer that a Call is being Transferred
    enter_extensionEnter Extension
    extension_failedWhen an invalid extension is entered
    zip_code_entryEnter Zip Code
    zip_entry_failedIncorrect Zip Code
    press_1_to_acceptWhisper to Buyer to Press 1 to Accept a Call
    press_1_too_slowWhisper to Buyer that they Pressed 1 Too Slowly
    add_to_hold_queueWhen placed in hold queue
    hold_queue_is_fullWhen the hold queue is full
    hold_queue_max_seconds_exceededWhen the caller has been on hold for longer than max hold seconds
    no_instant_agent_availableWhen no instant agent is available during an inbound call from a consumer
    no_instant_agent_available_outboundWhen no instant agent is available during an outbound call to a consumer
    before_connecting_instant_agentBefore Connecting An Instant Agent
    when_instant_agent_transfers_to_buyerWhen an instant agent transfers to a buyer
    when_buyer_hangup_before_durationWhen A Buyer Hangs Up Before Duration
    no_buyers_have_open_concurrency_capWhen no buyers have open concurrency cap
    all_buyers_closedWhen no buyers are open
    no_buyer_answeredWhen no buyers answer
    no_buyers_matchWhen no buyers have matching filters
    tag_validation_failedToken Entry Failed
    traffic_source_cappedWhen the traffic source is capped
    caller_hang_up_before_conferenceWhen the caller hangs up before being connected to a buyer
message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers or Agents
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank value allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank value allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank value allowed

Describe the purpose of this call flow rule.

  • Must be a String

text_to_speech
Optional Blank value allowed

Text To Speech that will be spoken when message_type=speak

  • Must be a String

message_loop
Optional Blank value allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank value allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank value allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank value allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank value allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank value allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank value allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.

name
Optional Blank value allowed

A short label for this call flow rule shown in the call flow list.

  • Must be a String

message_action_type
Optional Blank value allowed

The step this rule performs in the call flow, such as playing a message, dialing buyers, or adding to a hold queue.

  • Must be a String

text_to_speech_gender
Optional Blank value allowed

The voice used for the text_to_speech message, Male or Female.

  • Must be a String

key_press_timeout_seconds
Optional Blank value allowed

How many seconds to wait for a key press before continuing when router_type=press_1_to_accept. When router_type=before_connecting_instant_agent, how many seconds (10 to 600) to wait for the consumer to press a key before hanging up.

  • Must be a decimal number.

traffic_source_action_type
Optional Blank value allowed

How the traffic source should be altered when this rule runs.

  • Must be a String

traffic_source_action_id
Optional Blank value allowed

The traffic source to assign when traffic_source_action_type reassigns the traffic source.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

traffic_source_action_payout
Optional Blank value allowed

The alternate payout applied when traffic_source_action_type sets a new payout.

  • Must be a decimal number.

outbound_timeout_seconds
Optional Blank value allowed

How many seconds an outbound call to an agent is allowed to ring before it is considered unanswered.

  • Must be a decimal number.

use_with_find_a_buyer
Optional Blank value allowed

Only perform this action when a buyer can be matched for the call.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

perform_action_if_buyer_is_available
Optional Blank value allowed

Only perform this action when a buyer is available. Companion setting to use_with_find_a_buyer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer
Optional Blank value allowed

Automatically dial the next buyer if the current one does not answer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer_seconds
Optional Blank value allowed

How many seconds to wait before dialing the next buyer when auto_retry_next_buyer is true.

  • Must be a decimal number.

inbound_call_route_async
Optional Blank value allowed

Route the inbound call asynchronously instead of holding the caller while this rule runs.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

off_hook_no_lead_timeout
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent can go without a matching lead before instant agent dialing stops.

  • Must be a decimal number.

off_hook_calls_per_seat
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many outbound calls to place per available agent seat.

  • Must be a decimal number.

off_hook_unaccepted_wait
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent has to accept an offered call before it is considered unaccepted.

  • Must be a decimal number.

off_hook_leads_needed
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many matching leads must be available before dialing an agent.

  • Must be a decimal number.

off_hook_dropped_call_seconds
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The lookback window, in seconds, used to calculate the dropped call percentage.

  • Must be a decimal number.

off_hook_drop_limit_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The first dropped call percentage threshold that throttles outbound dialing.

  • Must be a decimal number.

off_hook_drop_cps_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_1 is exceeded.

  • Must be a decimal number.

off_hook_drop_limit_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The second, higher dropped call percentage threshold that throttles outbound dialing further.

  • Must be a decimal number.

off_hook_drop_cps_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_2 is exceeded.

  • Must be a decimal number.

action_digit
Optional Blank value allowed

Only perform this action if the caller pressed this key.

  • Must be a String

max_call_disposition_wait_seconds
Optional Blank value allowed

How many seconds to wait for an agent to disposition a call before moving on.

  • Must be a decimal number.

call_router_hangup_reason
Optional Blank value allowed

The reason recorded on the call when this rule hangs up the call.

  • Must be a String

fire_call_router_webhooks_before_action
Optional Blank value allowed

Fire this rule’s outgoing webhooks before performing its action instead of after.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

backup_buyer_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow agents dialed when the primary agents in buyer_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

backup_buyer_group_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow buyer groups dialed when the primary agents in buyer_ids/buyer_group_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

voicemail_file
Optional Blank value allowed

The audio file an instant agent can play to a lead’s answering machine when router_type=off_hook_press_to_accept.

  • Must be a valid file upload.

remove_voicemail_file
Optional Blank value allowed

Remove the currently configured voicemail_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

hold_music_file
Optional Blank value allowed

Custom music played to an instant agent while on hold when router_type=off_hook_press_to_accept. Falls back to the default hold music when blank.

  • Must be a valid file upload.

remove_hold_music_file
Optional Blank value allowed

Remove the currently configured hold_music_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

key_press_flow_group_id
Optional Blank value allowed

The key press flow group used to process the caller’s key press response for this rule.

use_sound_playlist
Optional Blank value allowed

Play a random file from a sound playlist instead of a single uploaded audio_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

sound_playlist_id
Optional Blank value allowed

The sound playlist to play from when use_sound_playlist is true.

hold_music_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist played to an instant agent while on hold.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

voicemail_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist an instant agent can play to a lead’s answering machine.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

after_action_sound_playlist_enabled
Optional Blank value allowed

Play a sound playlist after this rule’s action completes.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

after_action_sound_playlist_id
Optional Blank value allowed

The sound playlist played after this rule’s action completes, when after_action_sound_playlist_enabled is true.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

GET /call_routers/:id

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers/:id

Get Call Flow Rule by id.

Gets a Call Flow Rule's details by id.

PUT /call_routers/:id

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers/:id

Update Call Flow Rule by id.

Updates a Call Flow Rule's message, routing action, target buyers, buyer groups, or offer, or its hold queue settings.

Params

Param name Description
offer_id
Optional

Assign the record to this Offer.

enabled
Optional Blank value allowed

When false, this rule is disabled and skipped. Used to pause a call flow rule, such as an off_hook_press_to_accept flow, without deleting it.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

call_router_answer_group_id
Optional Blank value allowed

The answer group used to process the caller’s response when router_type=ask_a_question.

message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers or Agents
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank value allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank value allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank value allowed

Describe the purpose of this call flow rule.

  • Must be a String

text_to_speech
Optional Blank value allowed

Text To Speech that will be spoken when message_type=speak

  • Must be a String

message_loop
Optional Blank value allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank value allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank value allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank value allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank value allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank value allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank value allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank value allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.

name
Optional Blank value allowed

A short label for this call flow rule shown in the call flow list.

  • Must be a String

message_action_type
Optional Blank value allowed

The step this rule performs in the call flow, such as playing a message, dialing buyers, or adding to a hold queue.

  • Must be a String

text_to_speech_gender
Optional Blank value allowed

The voice used for the text_to_speech message, Male or Female.

  • Must be a String

key_press_timeout_seconds
Optional Blank value allowed

How many seconds to wait for a key press before continuing when router_type=press_1_to_accept. When router_type=before_connecting_instant_agent, how many seconds (10 to 600) to wait for the consumer to press a key before hanging up.

  • Must be a decimal number.

traffic_source_action_type
Optional Blank value allowed

How the traffic source should be altered when this rule runs.

  • Must be a String

traffic_source_action_id
Optional Blank value allowed

The traffic source to assign when traffic_source_action_type reassigns the traffic source.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

traffic_source_action_payout
Optional Blank value allowed

The alternate payout applied when traffic_source_action_type sets a new payout.

  • Must be a decimal number.

outbound_timeout_seconds
Optional Blank value allowed

How many seconds an outbound call to an agent is allowed to ring before it is considered unanswered.

  • Must be a decimal number.

use_with_find_a_buyer
Optional Blank value allowed

Only perform this action when a buyer can be matched for the call.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

perform_action_if_buyer_is_available
Optional Blank value allowed

Only perform this action when a buyer is available. Companion setting to use_with_find_a_buyer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer
Optional Blank value allowed

Automatically dial the next buyer if the current one does not answer.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

auto_retry_next_buyer_seconds
Optional Blank value allowed

How many seconds to wait before dialing the next buyer when auto_retry_next_buyer is true.

  • Must be a decimal number.

inbound_call_route_async
Optional Blank value allowed

Route the inbound call asynchronously instead of holding the caller while this rule runs.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

off_hook_no_lead_timeout
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent can go without a matching lead before instant agent dialing stops.

  • Must be a decimal number.

off_hook_calls_per_seat
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many outbound calls to place per available agent seat.

  • Must be a decimal number.

off_hook_unaccepted_wait
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many seconds an agent has to accept an offered call before it is considered unaccepted.

  • Must be a decimal number.

off_hook_leads_needed
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. How many matching leads must be available before dialing an agent.

  • Must be a decimal number.

off_hook_dropped_call_seconds
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The lookback window, in seconds, used to calculate the dropped call percentage.

  • Must be a decimal number.

off_hook_drop_limit_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The first dropped call percentage threshold that throttles outbound dialing.

  • Must be a decimal number.

off_hook_drop_cps_1
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_1 is exceeded.

  • Must be a decimal number.

off_hook_drop_limit_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The second, higher dropped call percentage threshold that throttles outbound dialing further.

  • Must be a decimal number.

off_hook_drop_cps_2
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The calls-per-seat rate applied once off_hook_drop_limit_2 is exceeded.

  • Must be a decimal number.

action_digit
Optional Blank value allowed

Only perform this action if the caller pressed this key.

  • Must be a String

max_call_disposition_wait_seconds
Optional Blank value allowed

How many seconds to wait for an agent to disposition a call before moving on.

  • Must be a decimal number.

call_router_hangup_reason
Optional Blank value allowed

The reason recorded on the call when this rule hangs up the call.

  • Must be a String

fire_call_router_webhooks_before_action
Optional Blank value allowed

Fire this rule’s outgoing webhooks before performing its action instead of after.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

backup_buyer_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow agents dialed when the primary agents in buyer_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

backup_buyer_group_ids
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. Overflow buyer groups dialed when the primary agents in buyer_ids/buyer_group_ids are unavailable.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

voicemail_file
Optional Blank value allowed

The audio file an instant agent can play to a lead’s answering machine when router_type=off_hook_press_to_accept.

  • Must be a valid file upload.

remove_voicemail_file
Optional Blank value allowed

Remove the currently configured voicemail_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

hold_music_file
Optional Blank value allowed

Custom music played to an instant agent while on hold when router_type=off_hook_press_to_accept. Falls back to the default hold music when blank.

  • Must be a valid file upload.

remove_hold_music_file
Optional Blank value allowed

Remove the currently configured hold_music_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

key_press_flow_group_id
Optional Blank value allowed

The key press flow group used to process the caller’s key press response for this rule.

use_sound_playlist
Optional Blank value allowed

Play a random file from a sound playlist instead of a single uploaded audio_file.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

sound_playlist_id
Optional Blank value allowed

The sound playlist to play from when use_sound_playlist is true.

hold_music_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist played to an instant agent while on hold.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

voicemail_sound_playlist_id
Optional Blank value allowed

Used when router_type=off_hook_press_to_accept. The sound playlist an instant agent can play to a lead’s answering machine.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

after_action_sound_playlist_enabled
Optional Blank value allowed

Play a sound playlist after this rule’s action completes.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

after_action_sound_playlist_id
Optional Blank value allowed

The sound playlist played after this rule’s action completes, when after_action_sound_playlist_enabled is true.

  • Must be an 8-bit integer ID or a 128-bit UUID reference to an object on Trackdrive. Example ID: 289302820, Example UUID: 924c37d5-e70f-42ad-84c2-e85eb0c1bc21

DELETE /call_routers/:id

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/call_routers/:id

Destroy Call Flow Rule by id.

Deletes a Call Flow Rule by id.