POST

AutomationActions.Edit

Edit an automation action Only id is required; send only fields you want to change.

Permissions

User must be logged in and allowed to manage automation/settings for this account.

Action

Updates an action node and keeps it inside the same flow unless flow_id is changed intentionally.

Push Service

Pushes automationactions.edit.updated to refresh automation builder screens.

Automation

No business automation runs while editing automation configuration. It runs later only when an active trigger event happens.

Special Instructions

For IF/AI branching, store branch links in position_and_connection.canvas_links, for example true:2,false:3. Full instructions: /docs/generated/app-route-diffs/AutomationActions.Edit.md Sample curl: curl -X POST https://{domain}/app/AutomationActions.Edit \ -H 'Authorization: Bearer YOUR TOKEN' \ -d 'id=200' \ -d 'text=Hello {name}, welcome back' \ -d 'position_and_connection={"canvas_x":100,"canvas_y":200,"canvas_links":"true:2,false:3"}'

Required Parameters

NameTypeSampleExplanation
id
post
int123Record id to update.

Optional Parameters

NameTypeSampleWhat it gives
flow_id
post
int123AutomationEvents.Add returns this id. Use that event id as the parent flow_id for action nodes.
type
post
stringsendEmailAction node type. Use one of the allowed action type keys in the full Automation docs.
step
post
int1Visual/order step number inside the flow.
parameter
post
json/string{}Main type-specific configuration: recipient, status id, folder id, API URL, IF rules, etc.
subject
post
stringWelcomeEmail subject or node title when the selected type uses a subject.
text
post
string/jsonHello {name}Message body, note text, prompt, or JSON settings. Supports automation shortcodes.
list_type
post
stringcustomerList/context selector for list/course/campaign-style actions.
next
post
int/string2Next step number/id for linear execution.
delay
post
int10Delay amount for this action.
delay_time
post
time09:30:00Fixed time in H:i:s for scheduled action timing. Send time values as H:i:s. If the route also has a date field, send that date as UTC Y-m-d H:i:s.
delay_type
post
stringminuteDelay unit: minute, hour, day, etc. Server stores/uses it with the action.
extra_param
post
json/string15Secondary type-specific configuration such as template id, flags, or related resource id.
par
post
stringtagAdvance-condition filter dimension.
advance_condition_when
post
int00 means enabled/run normally. 1 means disabled/skip by the action toggle. Activate sets 0; Disable sets 1.
condition_operator
post
stringgtAdvanced condition operator for custom field comparison: gt, lt, gte, lte, eq.
condition_compare_to
post
stringnowAdvanced condition compare target: fixed, now, now_plus.
condition_compare_value
post
string3Advanced condition compare value.
condition_compare_unit
post
stringdayAdvanced condition compare unit: minute, hour, day.
include
post
json/string[1,2]Included ids/values for advance-condition blocks.
exclude
post
json/string[3]Excluded ids/values for advance-condition blocks.
folder_id
post
int/string1Folder id for moveToFolder/removeFolder or actions that need a folder.
include_value
post
string/json1000Free value for condition blocks.
tag_name
post
string/idvipTag key/name for condition/action selectors.
before_after
post
stringafterDate-relative scheduling direction.
dateof
post
stringfollowupDate field used for relative scheduling.
hourof
post
time10:00:00Hour used with date-relative scheduling. Use H:i:s. Send time values as H:i:s. If the route also has a date field, send that date as UTC Y-m-d H:i:s.
date_to_do_mission
post
datetime2026-07-22 09:30:00Mission due datetime. Send UTC Y-m-d H:i:s. Send UTC date/time as Y-m-d H:i:s, for example 2026-07-20 10:00:00. The SDK converts user local Date/local datetime input to UTC before posting.
mission_image
post
string/path/files/mission.pngMission image/file reference for addMission.
mission_date_to_do_delay
post
int2Relative mission due-date delay amount.
mission_date_to_do_delay_type
post
stringdayRelative mission due-date unit.
missions_steps_id
post
int3Mission step/status id.
project_id
post
int7Project id for mission/project actions.
project_column_name
post
stringtodoProject column key for project actions.
share_one_tm_to_cust
post
int1Share with one selected team member from a list.
the_user_that_do_action
post
int1Use the team member who performed the triggering action when supported.
remove_all_other_shared_tm
post
int1Remove all other shared team members in share/remove actions.
last_team_key
post
stringsalesLast team key used by team assignment/share logic.
extra_fiels_data
post
json/string{}Additional structured type-specific data: typed API params, ticket fields, remove TM lists, etc.
update_tab_extra_condition
post
json/string{}Extra condition JSON for update_to_tab_cust.
second_customer_details
post
json/string{}Lookup/selection settings for actions that target a second or linked customer.
to_the_link_cust
post
int1Send/update the linked customer when the triggering event supports linked customers.
to_second_email
post
int/string1Use customer second email for email actions.
get_data
post
int/json/string1Whether API-call GET/query data is configured, or the raw config.
post_header_data
post
int/json/string1Whether API-call headers/body are configured, or the raw config.
get_data_value
post
json/string["customer_id={id}"]API-call query values.
post_header_data_value
post
json/string["Authorization: Bearer TOKEN"]API-call header/body values.
change_date_format
post
int1Enable date-format conversion for API-call/action values.
select_date_format
post
stringY-m-dTarget date format when change_date_format is enabled.
api_call_method
post
stringPOSTHTTP method for apiCall/apiCallWithParam.
post_type
post
stringjsonPayload type for API call: json, form, etc.
position_and_connection
post
json/string{"canvas_x":100,"canvas_y":200,"canvas_links":"true:2,false:3"}Canvas position and links. For IF/AI branches store true/false links in canvas_links, for linear actions use next links.

Authentication

Send the bearer token returned by Login in the request header.

Authorization: Bearer YOUR TOKEN

Sample Request

{
    "url": "\/app\/AutomationActions.Edit",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer YOUR TOKEN"
    },
    "body": {
        "id": "200",
        "text": "Hello {name}, welcome back",
        "position_and_connection": "{\"canvas_x\":100,\"canvas_y\":200,\"canvas_links\":\"true:2,false:3\"}"
    },
    "url_user": "https:\/\/{user}.bull36.com\/app\/AutomationActions.Edit",
    "url_domain": "https:\/\/{domain}\/app\/AutomationActions.Edit"
}

Endpoint

POST /app/AutomationActions.Edit
POST https://{user}.bull36.com/app/AutomationActions.Edit
POST https://{domain}/app/AutomationActions.Edit

Sample Output

{
    "success": "1",
    "message": "AutomationActions.Edit updated",
    "id": "200",
    "automation_event": null,
    "socket_event": "automationactions.edit.updated"
}

JavaScript Example

const token = 'YOUR TOKEN';
const body = new URLSearchParams();
body.set('id', '200');
body.set('text', 'Hello {name}, welcome back');
body.set('position_and_connection', '{"canvas_x":100,"canvas_y":200,"canvas_links":"true:2,false:3"}');

const res = await fetch('/app/AutomationActions.Edit', {
  method: 'POST',
  headers: { Authorization: `Bearer ${token}` },
  body
});

const data = await res.json();
console.log(data);

Error Example

{
    "success": "0",
    "message": "Missing required parameter: id"
}