FlowArgument

The FlowArgument class represents an argument for a Flow Card as defined in the app's app.json. This class must not be initiated by the developer, but retrieved by calling FlowCard#getArgument.

Methods

registerAutocompleteListener

registerAutocompleteListener(listener): FlowArgument

Register a listener for a autocomplete event. This is fired when the argument is of type autocomplete and the user typed a query.

Parameters

Name Type Description
listener
ArgumentAutocompleteCallback

Should return a promise that resolves to the autocomplete results.

Returns

Example

const myActionCard = this.homey.flow.getActionCard('my_action');

const myActionCardMyArg = myAction.getArgument('my_arg');

myActionCardMyArg.registerAutocompleteListener(async (query, args) => {
  const results = [
    {
      name: 'Value name',
      description: 'Optional description',
      icon: 'https://path.to/icon.svg',
      // For images that are not svg use:
      // image: 'https://path.to/icon.png',

      // You can freely add additional properties to access in registerRunListener
      id: '...',
    },
  ];

  // filter based on the query
  return results.filter((result) => {
    return result.name.toLowerCase().includes(query.toLowerCase());
  });
});