Mavenoid help center

Mavenoid help center

  • Admin
  • Flows
  • Agent dashboard

›Reference

Get started

  • Intro to flows
  • Tutorial - Create a flow for live support
  • Tutorial - Create a flow for troubleshooting
  • Tutorial - Create a flow for FAQs

Learn more

  • Understand the types of nodes
  • Working with symptoms and solutions
  • Working with backtracks and choice lists
  • Understand potential solutions
  • Understand escalation
  • Understand search
  • Understand step-by-step guides
  • Understand canvas notes
  • Understand form data
  • Understand markup
  • Understand secrets
  • Understand flow components
  • Understand conditions
  • Understand translations
  • Understand flow feedback
  • Best practices for writing flows

How-to guides

  • Preview nodes and flows
  • Embed images and files
  • Embed videos
  • Receive conversation transcript emails
  • Set a flow image
  • Work with step-by-step guides
  • Add canvas notes
  • Copy and paste nodes
  • Create and embed flow components
  • Work with conditions
  • Configure flow feedback
  • View and manage flow feedback
  • Export, import, and copy flows
  • Set flow visibility
  • Manage translations
  • Create a live support node
  • Create an external API node
  • Start the user on different nodes based on the embedding page
  • Dynamically populate a choice list

Reference

  • Text formatting
  • Live support settings
  • Actions settings
  • External API settings
  • Form field types
  • Reserved form data
  • Markup expressions and operators
  • Supported languages
  • Glossary of terms

Reserved form data

Some form data keys are reserved by Mavenoid. These are often populated automatically by Mavenoid and can be recognized by their leading $ characters.

Global

These keys are available throughout the flow once they have been populated.

$created-on-page-url

When a conversation starts, this key is automatically populated with the URL of the page on which the assistant is embedded.

For example, if the user visits your page https://example.com/support/ where you have an embedded Mavenoid assistant and starts a conversation there, the value associated with $created-on-page-url will be set to https://example.com/support/. If they instead visit your page https://example.com/warranty/ and start a conversation there, the value will instead be set to https://example.com/warranty/.

This allows you to use the same flows in your assistant on multiple pages but direct users differently or prefill different information, based on the page the user is currently visiting or any parameters in the URL.

This data is a string containing the full URL, such as "https://example.com/support/".

$customer-email

This key is not populated automatically, but is used by any and all customer email form fields. Any email address that is entered into such a field will thereafter be accessible using this key.

This allows you to store the user's email for follow-up contact, sending transcript emails, and so on.

This data is a string containing the email address, such as "[email protected]".

$flow

When a conversation starts, this key is automatically populated with the name and ID of the flow. The name is as specified in the flow's settings. The ID is a unique numeric identifier.

This data is a map with the following format: {"name": string, "id": string}. You can therefore access each specific string by using $flow["name"] or $flow["id"].

$language-iso

When a conversation starts, this key is automatically populated with the ISO code for the language in which the user is viewing the assistant. If the user changes the assistant to a different language, this key is updated as well, though the current node will not refresh.

This allows you to direct the user to content or live support agent groups based on the languages they are familiar with.

This data is a string containing the language code, such as "en".

$latest-assigned-agent

When a live chat ends, this key is automatically populated with the email address, first name, and last name of the last support agent to join the chat. If the chat is transferred, the new agent's data will replace the previous data.

This allows you to log which agent handled the interaction and may thus be best positioned for follow-up.

This data is a map with the following format: {"email": string, "firstName": string, "lastName": string}. You can therefore access each specific string by using $latest-assigned-agent["email"], $latest-assigned-agent["firstName"], or $latest-assigned-agent["lastName"].

$session

When a conversation starts, this key is automatically populated with the ID and URL of the conversation. The ID is a unique alphanumeric identifier. The URL points to a read-only view of the conversation and is only accessible by people with the required roles within Mavenoid.

This allows you to store links to the Mavenoid conversation within other systems.

This data is a map with the following format: {"id": string, "url": string}. You can therefore access each specific string by using $session["id"] or $session["url"].

$user

When a conversation starts, this key is automatically populated with the name and email of the user if the user is logged in to Mavenoid.

This allows you to prefill user information in the case that your users log in to Mavenoid to access the product assistant. If your users do not log in to Mavenoid to access the product assistant, this will not be useful to you.

This data is a map with the following format: {"first_name": string, "last_name": string, "email": string}. You can therefore access each specific string by using $user["first_name"], $user["last_name"], or $user["email"].

Limited

These keys are only available in specific contexts. When they are available, they act like form data, but they must be stored to an actual form data key to be made available in other contexts.

$error

Actions attempt to perform an action in a remote system. If this attempt fails and the remote system returns an error message, that message will be available to the action's form data assignments under the identifier $error.

This is mostly useful for debugging Actions nodes during flow development.

This data is a string containing the error message.

$objectId

In a Create Salesforce Case action, the ID of the created case will be available to the action's form data assignments under this identifier.

This allows you to store the case ID, which is particularly useful if you will later update the Salesforce case.

This data is a string containing the ID.

For the Zendesk equivalent, see $ticketId.

$secrets

In a Call External API action, the headers to send can access your organization's secrets under this identifier.

This allows you to store authentication or API tokens and securely use them in your flows without exposing them.

This data is a map of secrets keyed by name. For example, to access an OAuth 2.0 Bearer Token stored as a secret named "bearer", use $secrets["bearer"].

$status, $headers, and $body

In a Call External API action, the response to the API call is available to the action's form data assignments under these identifiers.

This allows you to process the outcome of the API call and proceed accordingly.

$status

The numeric HTTP status of the response, such as 200 or 404, stored as a string.

$headers

The headers included in the HTTP response, stored as a map of header names to values. For example, $headers["Content-Type"] might have value of "text/html; charset=UTF-8".

$body

The body of the HTTP response. If the response type of the action is set to "JSON", this will be a JSON object. If it is instead set to "String", this will be a raw string.

$ticketId

In a Create Zendesk Ticket action, the ID of the created ticket will be available to the action's form data assignments under this identifier.

This allows you to store the ticket ID, which is particularly useful if you will later update the Zendesk ticket.

This data is a string containing the ID.

For the Salesforce equivalent, see $objectId.

$transcript

The transcript of the user's interaction with the product assistant thus far. The full transcript is stored as the "body" while the most recent search performed by the user is stored as the "subject".

This allows you to send a record of the interaction to the customer or to store it in a connected help desk.

This data is a map with the following format: {"subject": string, "body": string}. You can therefore access each specific string by using $transcript["body"] or $transcript["subject"].

Last updated on 10/25/2022
← Form field typesMarkup expressions and operators →
  • Global
    • $created-on-page-url
    • $customer-email
    • $flow
    • $language-iso
    • $latest-assigned-agent
    • $session
    • $user
  • Limited
    • $error
    • $objectId
    • $secrets
    • $status, $headers, and $body
    • $ticketId
    • $transcript
Help center
AdminFlowsAgent dashboard
Product
Self-serviceLive supportWhy Mavenoid?PricingGet a demoTry it free
Learn
Customer storiesBlogWebinarsHelp centerROI calculator
Company
About usCareersPressContact us
© Mavenoid AB 2023 • Privacy policy