Magical Autocomplete

Magical Autocomplete is a feature in Cosmocloud which is introduced to access dynamic values within the API Flow.

User can access these values using $. abbreviation. This is super helpful when you want to access data from one node into another, for example reusing some value returned by parent in child.

When user type $. in any input field in the node's properties window, it gives the user a list of autocomplete values which user can assess in that node level.

Accessing values using `$.`

These are 4 ways to access data using Magical Autocomplete -

  • Node data: $.<node_name>.<key>

  • Variables: $.variable.<variable_name>

  • Token data: $.tokenData.<key>

  • Custom secrets data: $.secrets.<secret_name>.<key_name>

Accessing node data using `$.`

Nodes in cosmocloud are basic building blocks for your API's. Each node can be considered as a single operation ( e.g. create , update , delete etc. ) that user needs to perform in flow.

Some of these nodes return values which can later be used in the flow.

For e.g. API call node is used to call an external API which in turn returns us statusCode and body

Now to access the values returned by this node we can use following syntax

$.<node name>.<return value>

Example

Let us assume you make an external API call using API call node and want to access the response in the flow.

Now we can access the value of this node as :

  • $.node_7.body

  • $.node_7.statusCode

Accessing variables using `$.`

Some of the nodes in cosmocloud is used to initialise variables is runtime. These nodes create a new variables which can later be accessed in the flow. eg. Set Variable , Build JSON etc.

You can access these variables using $.variables.<variables name>

For the variable declared above using Set Variable node you can access it as $.variables.newVariable

Accessing token data using `$.`

Accessing token data using $ abbreviations is very easy. you can either access raw token to be used in external API calls or you can access decoded token for values.

$.tokenData helps you access decoded bearer token values or raw token to be used in external API's

  • Raw token : $.tokenData.rawToken

  • Decoded token : $.tokenData.<variable_name>

Example

Let us assume you are using a authentication service on cosmocloud and schema of your decoded token is in given format

{
  id : "012345678abcde"   // user id
  email : "example@gmail.com" //user email
  exp : 1234567643 // token expire at time
}

Now assume you want to access user email from bearer token . You can access is by $.tokenData.email and use it anywhere in your flow.

Now, what if you want to access bearer token as it is, so that you can use it for any external service ?

well you can access raw token as $.tokenData.rawToken

Accessing secrets using `$.`

Let us assume you have created a new custom secret named as AWS_SECRETS which store values for AWS credentials such as :

  • DEFAULT_REGION

  • QUEUE_NAME

Now what if you want to access these values in flow? well you can access them using following syntax $.secrets.<SECRET_NAME>.<KEY_TO_ACCESS>

for above case you can access these values as :

  • $.secrets.AWS_SECRETS.DEFAULT_REGION

  • $.secrets.AWS_SECRETS.QUEUE_NAME

Last updated