You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Next »

What are client actions?

Client actions are actions that Flock clients take when a user interacts with controls like Slash CommandsAttachment PickersLauncher Buttons, and so on. 

Flock currently supports three kinds of client actions. They are:

  • Opening a widget inside the Flock client
  • Opening a URL in the system browser;
  • Sending an event to the event listener URL.

Opening a Widget

Apps can use widgets to render web applications inside an iframe or webview within Flock. They can not only do everything that a normal webapp can, but also interact with the Flock client hosting them.

To know more about setting up a widget, see How do I configure a widget?

Opening the Browser

To open a browser, you need to provide the following:

  • The URL to open.
  • Whether to send event context or not. When enabled, event parameters are appended to the URL.

You can open the browser in one of the following ways:

  • Use the developer dashboard to open the browser for a Slash CommandLauncher ButtonChat Tab Button or Attachment Picker. Select the Open Browser action after enabling any of these controls.

  •  Widgets can also launch the browser using flock.js.

    flock.openBrowser("<url>", true);
  • FlockML's action tag can also be used to launch the browser:

    <flockml>click <action type="openBrowser" url="<url>" sendContext="true">here</action> to open the browser.</flockml>

How do I configure a client action?

Different controls have different ways in which their respective client actions can be configured:

  • For an attachment picker, chat tab button, launcher button or a slash command, the client action is configured in the dev dashboard
  • For an attachment button, the client action is configured using an object provided along with other button attributes when creating the Attachment.
  • From inside a widget, a client action can be triggered by calling flock.openWidget or flock.openBrowser methods provided by flock.js.
  • FlockML view can trigger a client action by using the action element.

What happens when a client action is triggered?

An event is generated every time a client action is triggered.

The events sent by various controls when a client action is triggered are listed below:

The event name along with its attribute provides sufficient context for the client action.

Can client actions be triggered for users who haven't installed the app?

Yes. Your app may send a message to a user who may not have installed your app, or a group where some users may not have installed your app. When these users interact with this message's attachment (e.g. click on an attachment button, or take some action inside the attachment widget), a client action is triggered.

If you verify that the event token sent with the corresponding event is really signed using your app's secret (you should always do this anyways), you can be certain that the event originated from Flock and was actually triggered by the user whose userId is included in the event token (even if they haven't installed the app).