LogoLogo
  • Go to Docs Center
  • Plum DEV Documentation
  • Overview
  • Developer Reference
    • Tutorial
    • How to...
      • Use Plum's Transcription API
    • Audio Formats and Prompts
    • Grammars and Speech Recognition
    • Available ASR Engines
    • TTS Engine Characteristics
      • Amazon Polly TTS Engine
        • Polly Voice Tag Attribute Details
      • AT&T Natural Voices
      • Cepstral Engine
      • RealSpeak Engine
      • Vocalizer 7
        • Vocalizer 7: <voice> tag and SSML Support
    • Data Exchange
    • Logging
    • Caching
    • Root Documents
  • VoiceXML
    • Tags
      • <assign>
      • <audio>
      • <block>
      • <break>
      • <catch>
      • <choice>
      • <clear>
      • <data>
      • <desc>
      • <disconnect>
      • <else>
      • <elseif>
      • <emphasis>
      • <enumerate>
      • <error>
      • <example>
      • <exit>
      • <field>
      • <filled>
      • <foreach>
      • <form>
      • <goto>
      • <grammar>
      • <help>
      • <if>
      • <initial>
      • <item>
      • <lexicon>
      • <link>
      • <log>
      • <mark>
      • <menu>
      • <meta>
      • <metadata>
      • <noinput>
      • <nomatch>
      • <one-of>
      • <option>
      • <paragraph>
      • <param>
      • <phoneme>
      • <prompt>
      • <property>
      • <prosody>
      • <record>
      • <reprompt>
      • <return>
      • <rule>
      • <ruleref>
      • <say-as>
      • <script>
      • <sentence>
      • <speak>
      • <sub>
      • <subdialog>
      • <submit>
      • <tag>
      • <throw>
      • <token>
      • <transfer>
      • <value>
      • <var>
      • <voice>
      • <vxml>
    • Properties
      • audiofetchhint
      • audiomaxage
      • audiomaxstale
      • bargein
      • bargeintype
      • certverifypeer
      • completetimeout
      • confidencelevel
      • datafetchhint
      • datamaxage
      • datamaxstale
      • documentfetchhint
      • documentmaxage
      • documentmaxstale
      • fetchaudio
      • fetchaudiodelay
      • fetchaudiominimum
      • fetchtimeout
      • grammarfetchhint
      • grammarmaxage
      • grammarmaxstale
      • incompletetimeout
      • inputmodes
      • interdigittimeout
      • logging
      • maxnbest
      • maxspeechtimeout
      • normalizeaudio
      • recordcall
      • recordcallappend
      • recordutterance
      • recordutterancetype
      • scriptfetchhint
      • scriptmaxage
      • scriptmaxstale
      • sensitivity
      • speedvsaccuracy
      • termchar
      • termmaxdigits
      • termtimeout
      • timeout
      • universals
      • voicegender
      • voicename
    • Application and Session Variables
      • application.lastresult$[i].confidence
      • application.lastresult$[i].inputmode
      • application.lastresult$[i].interpretation
      • application.lastresult$[i].recording
      • application.lastresult$[i].recordingduration
      • application.lastresult$[i].recordingsize
      • application.lastresult$[i].utterance
      • session.callrecording
      • session.id
      • session.telephone.ani
      • session.telephone.dnis
    • VoiceXML Resources
  • Plum DEV Guide
    • Using the Plum DEV site
    • Using the File Repository
    • Outbound Calling Guide
      • Using the Outbound Tools in the DEV web UI
      • DEV Outbound Programming Notes
      • Outbound FAQs and Tips
    • Call Reporting
    • Analytics
    • VoiceTrends
    • Debugging
    • Scratchpads
    • Saved URLs
    • Voice Biometrics
    • Call Routing
    • Data Security
      • 'Private' Tags
      • Managing Secure Phone Numbers
      • Sensitive Data Types
    • SMS Guide
      • Standard Short Codes
      • SMS Debugging/Error Logs
      • Additional SMS Info
    • Single Sign On
  • Plum DEV APIs
    • DEV Outbound APIs
      • Contacts CSV Formatting
      • Outbound API Parameter Notes
      • Legacy and Miscellaneous Notes
    • SMS API
    • Call Logs API
    • Call Scheduling and Pacing API
    • Transcription API
    • Application API
    • Blocklist API
Powered by GitBook
On this page
  • FAQ
  • When should I schedule my calls?
  • When is my call going out?
  • What's the status of my outbound campaign?
  • Why am I seeing "failed" calls?
  • Why are some calls still going out after I stopped a campaign?
  1. Plum DEV Guide
  2. Outbound Calling Guide

Outbound FAQs and Tips

PreviousDEV Outbound Programming NotesNextCall Reporting

Last updated 2 years ago

FAQ

When should I schedule my calls?

Plum Voice recommends scheduling batch calls to begin at a fifteen minute interval past the hour (e.g. 15, 30 or 45 minutes). We do NOT recommend scheduling batches at or near the top of the hour (e.g., 00) because doing so can cause unnecessary call spikes that can negatively impact call completions.

When is my call going out?

The short answer: When it reaches the top of the queue.

The longer answer: The time of day, the number of calls a client wants to make, and the number of other campaigns in the Plum Outbound Queue can affect how quickly a client's calls get placed. Any phone numbers that get put back into the Plum Outbound Queue so it may take longer for some calls to complete than others.

What's the status of my outbound campaign?

Plum's Outbound Queue is optimized for placing calls. As a result, getting to the next call in the queue takes priority over updating the status of the previous call. Each phase of the outbound process contains several potential status changes. In order to ensure that calls go out as quickly as possible, call status updates may be delayed.

Dialing via the outbound queue and the processing of call status data are two separate, yet inter-related processes within the Plum Platform. It is possible, therefore, that a call or a call campaign can be completed before all the status updates for those calls are processed in their entirety.

Once the platform has call status data, it sends that information to the customer using the provided result_url.

Why am I seeing "failed" calls?

First, let's explain how we determine if a call has failed or completed.

  • A call is considered "failed" when it has been queued, dialed, and does not get answered. Calls may not be picked up for a like the number is busy, caller didn't answer, etc. The call status of "failed" does not mean the call has failed to be queued or dialed.

  • A call is considered "completed" when the call is ultimately answered. The only caveat with this is answered calls can include voicemail. To provide the best user experience, we recommend building your application with to better handle those situations.

If an issue with queuing outbound occurs, it would be made available at the time of the API request or visible in the pending queue. Stuck calls in the pending queue may have gone out but did not update properly in our system, finding correlating call logs with the stuck call may help in debugging further.

Why are some calls still going out after I stopped a campaign?

Stopping a running campaign is possible if the campaign's calls have not entered the outbound queue. However, the outbound queue is designed to process high volumes of calls quickly.

Once an outbound campaign has been submitted, calls often enter the queue immediately. You may only have a limited window to stop a campaign before any calls go out.

You can see the status of your calls by navigating to the outbound calling page and clicking on "view" in your campaign. You can adjust the number of completed entries and refresh the screen. In the table you can see the number dialed, ani (if applicable), status, attempt, callee type, and call info. The will point you in the right direction why we consider that call has failed. You can also see this information when clicking the info icon to see the call info modal.

Please view our for more information on outbound campaigns.

Best Practices
callee type
fail
variety of reasons
callee type detection