Customer Portal

Get Involved. Join the Conversation.


  • Scott Heidenreich

    What I really need is a page tag that called "agent_available" that can be used with "chat_available" to determine if it is between chat hours AND an agent is available.  In the absence of such a page tag, is there a way to use the enable_availability_check logic on the chat/launch.php page?

  • Scott Heidenreich

    Thank you for your replies Rhianna and Sebastiaan. 

    The conditional chat link is at the wrong level for what our client wants.  They have three requirements:

    1. allow them to link to the chat/launch.php page from anywhere on our internet site.

    2. show information for how to contact them when chat is not available on the chat/launch.php (which appears after the chat link is clicked).

    3. have the form on the chat/launch.php page be hidden if an agent is not available, even during chat hours.

    The chat form on the launch page hides perfectly when outside of chat hours, but it INCORRECTLY shows up during chat hours, even when no chat agents are set to available.

    I have a screenshot that explains the problem for how the launch page is not reacting to chat agent availability, even though the ConditionalChatLink is doing so.  I also uploaded a snippet of the widget call that shows that the enable availability parameter is set to true.

    If I want to create a conditional section in a PHP page on the customer portal that is responsive to having at least one chat agent logged in and set to available, how do I do that?  In other words, how can I determine during chat hours that at least one chat agent is logged and set to available so I can use that value for creating a condition that either hides the from on the launch.php OR shows a different page.  For example:

    If within_chat_hours="true" AND agents_available="true"

    then show chat/launch.php

    Else show how to contact us when chat is not available PHP page.


    An alternative would be to embed this logic on the chat/launch.php page:

    If within_chat_hours="true" AND agents_available="true"

    then show chat login form

    Else hide chat login form


    But the trouble is, I don't know how to determine if the time is within chat hours AND an chat agent is logged in.

    Thank you for your help!

  • JustRhianna

    In the conditional chat widget there are several toggles that can be used your documentation can be found at



    • Name: Enable Availability Check
    • Type: BOOL
    • Description: Determines whether to check for chat/agent availability. If disabled, the link will always display regardless of availability or hours of operation.
    • Default: true



    • Name: Hide Link on Unavailable
    • Type: BOOL
    • Description: When set to true, hides the widget entirely if the conditions for chat availability are not met
    • Default: false
  • Sebastiaan Draaisma

    Hi Scott.

    I have not had access to a chat enabled site for quite some years but from what I remember is that you would need to use the conditional chat widget and use the attribute minimum required agents.

  • Anthony Smith

    Agreed - a bunch of customers we work with deal with 3rd party developers (or have to hire their own) mostly to maintain and create forms. Some have switched, or contemplate on switching to other products just for forms and keep the CP, which then de-centralises the incident management.

  • Janusz Jasinski

    I try and use but get:

    Abort pclzip.lib.php : Missing zlib extensions

    Specifically: gzopen

  • Sebastiaan Draaisma

    No its not possible to have individual access levels for contacts if they belong to the same org...

    With the SLA created, you can apply an SLA instance to an organization or to an individual contact that is not associated with an organization. SLAs applied to an organization allow privileged access to all contacts associated with that organization.

    Source: Setting up privileged access

  • Peter Rupp

    We already have about 20 levels of SLA's so a separate site isn't really an option for just one SLA. I'm going to try to drop down idea, didn't think about a solution such as that. I was hoping there was some check box I was missing to turn off the Org SLA and make it an individual level but I guess not.  

  • Sebastiaan Draaisma

    Ah... yeah, that complicates things. Another solution could be to use a custom field for contacts (Yes/No or menu) to specify which contact should have access to to the paid content, require a login for your site so you are able to read the session of the user containing the custom field value in combination with your own search result widgets that takes this custom field into account as a filter value.

    There may be other solutions such as through an additional interface within your instance and separate content (free on interface 1, paid on interface 2).

  • Peter Rupp

    That is correct about the access level to contact. The problem with changing the Org to something custom or blank is that the Org is tied to service contracts and is required. If we change it, now that parson/email isn't linked to a contract so it breaks the logic there. 

  • Willie Eide

    I like that idea.
    However, the concept of the customer portal is to allow you, the customer, to manipulate the portal to brand it as your company, as your identity.

    We provide a semi, blank canvas and the capability to manipulate the CSS as you need to get pixel perfect results with customer portal. 
    Hence, I don't think we would get to a point where we'd implement Redwood as that is the Oracle brand/identity.

  • Sebastiaan Draaisma

    I guess you are working with privileged answers right and you have an access level tied to answers and want to assign that access level to contacts rather than orgs.
    Did I get that right?

    If so, and I may be wrong here, I don't think that is possible. A possible work around (which may add a complexity to it when using business rules for Orgs) would be to create your own Org field (custom object) that you assign to contacts and use the OOB org field for your access levels only. You could then have an org called Paid and another called Free and just assign contacts to these 2 orgs which would allow you to control the content. The real Org info would have to be stored in a custom object where you create the various fields. Business rules made for orgs would have to be done through CPM where you use PHP to control your custom object. If Org is something you only use for your access levels and not something you need for rules etc then it may be sufficient for you to create a custom field for Org under Contact where you store Org info.

  • Trine Larsen

    I finally figured this out!

    The reason for the SmartAssistant suggestions appearing twice in the customer mail was found in "Message Templates".

    This is how it was fixed (Sorry that that text in our system is in Danish but I hope you get what I mean):

  • Sebastiaan Draaisma

    Hi Erlin.

    No, this is not a standard function. It can be done through a Custom Process Model (CPM) which you can trigger with a Business Rule (BR). A CPM is like an advanced BR and is written in PHP. In this CPM you could write your code that would create a 2nd incident and specify the contact for this 2nd email, in this case the same client.

    Once you have the CPM, the BR could be configured to look at the incident source (Ask a question page on the customer portal) and selected product and would trigger the CPM which would create the incident.

  • Sebastiaan Draaisma

    I'm afraid I was wrong...
    Both custom messagebase entries and custom configuration settings are read only through PHP connect