Create

Description

Use a HTTP POST request to create an action. Story or Group ID must be provided. If change control is enabled on the story the request will be performed on the test story.

Request

HTTP Method: POST

Parameter Description
type Type of action to create:
Agents::EmailAgent
Agents::EventTransformationAgent
Agents::HTTPRequestAgent
Agents::IMAPAgent
Agents::TriggerAgent
Agents::WebhookAgent
Agents::SendToStoryAgent
Agents::GroupAgent
name Name of the action.
options JSON Options block of the action.
position An object describing the XY coordinates of the action on the story diagram.
story_id Optional ID of story to which the action should be added.
group_id Optional ID of group to which the action should be added.
description Optional A user-defined description of the action.
disabled Optional Boolean flag indicating whether action is disabled. Defaults to false.
source_ids Optional Array of action IDs the action should receive emitted events from.
receiver_ids Optional Array of action IDs the action should emit events to.
schedule Optional An object defining the cron schedule for the action.
monitor_failures Optional Boolean flag indicating if a notification should be sent when this action fails.
monitor_all_events Optional Boolean flag indicating if all events should be monitored.
monitor_no_events_emitted Optional Duration in seconds. If no events are emitted in this time, a notification will be sent.

Sample request

curl -X POST \
  https://<<META.tenant.domain>>/api/v1/actions \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer <<CREDENTIAL.tines_api_key>>'
  -d '{
        "type":"Agents::EventTransformationAgent",
        "name": "Extract email addresses and urls",
        "story_id":"{{.story_id}}",
        "source_ids": [100, 102],
        "receiver_ids":[],
        "position": {"x": 100, "y": 200},
        "options":{
          "mode": "extract",
          "matchers": [
            {
              "path": "{{.text}}",
              "regexp": "\\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}\\b",
              "to": "email_addresses"
            },
            {
              "path": "{{.text}}",
              "regexp": "https?:\\/\\/[\\S]+",
              "to": "urls"
            }
          ],
          "message": "This is an optional message"
        }
      }'

Response

A successful request will return a JSON object describing the created action.

Field description

Parameter Description
id Action ID.
type Action type
user_id User ID of the action's owner.
options JSON Options block of the action.
name Name of the action.
description A user-defined description of the action.
schedule An object defining the cron schedule for the action.
blended_events_count Number of events action has emitted in both TEST and LIVE mode.
logs_count Number of logs action has stored.
last_check_at ISO 8601 Timestamp representing date and time of action's last scheduled run.
last_receive_at ISO 8601 Timestamp representing date and time of last event received.
created_at ISO 8601 Timestamp representing creation date and time of action.
updated_at ISO 8601 Timestamp representing last updated date and time of action.
last_event_at ISO 8601 Timestamp representing date and time the last event was received.
last_error_log_at ISO 8601 Timestamp representing date and time of last error thrown by the action.
disabled Boolean flag indicating whether action is disabled.
guid Unique identifier of the action.
group_id ID of group to which the action belongs.
position An object describing the XY coordinates of the action on the story diagram.
story_id ID of story to which the action belongs.
story_mode Mode of the story to which the action belongs LIVE or TEST
nested_group_id ID of group contained in the action.
team_id ID of team to which the action belongs.
sources An Array of Action IDs this action receives emitted events from.
receivers An Array of Action IDs this action emits events to.
monitor_failures Boolean flag indicating if a notification should be sent when this action fails.
monitor_all_events Boolean flag indicating if all events should be monitored.
monitor_no_events_emitted Duration in seconds. If no events are emitted in this time, a notification will be sent.
time_saved_unit Unit of time corresponding to time saved value.
time_saved_value Number indicating the amount of time saved.
page An object with information on the associated page, if this is a page action

Sample response

{
  "id": 73563,
  "type": "Agents::EventTransformationAgent",
  "user_id": 167,
  "options": {
    "mode": "extract",
    "matchers": [
      {
        "path": "",
        "regexp": "\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}\b",
        "to": "email_addresses"
      },
      {
        "path": "",
        "regexp": "https?://[S]+",
        "to": "urls"
      }
    ],
    "message": "This is an optional message"
  },
  "name": "Extract email addresses and urls",
  "description": null,
  "schedule": null,
  "blended_events_count": 0,
  "logs_count": 0,
  "last_check_at": null,
  "last_receive_at": null,
  "created_at": "2021-05-07T11:42:58Z",
  "updated_at": "2021-05-07T11:47:00Z",
  "last_event_at": null,
  "last_error_log_at": null,
  "disabled": false,
  "guid": "f3fe6f8e167c9db42e64eaef8e5d2f0c",
  "group_id": null,
  "position": {
    "x": 105,
    "y": 195
  },
  "receivers": [70118],
  "sources": [70116],
  "team_id": 335,
  "monitor_failures": false,
  "monitor_all_events": false,
  "monitor_no_events_emitted": null,
  "time_saved_unit": "minutes",
  "time_saved_value": 0,
  "page": null,
  "story_id": 807,
  "story_mode": "LIVE",
  "nested_group_id": null
}
Was this helpful?