POST
Customer.FollowUp
Set or update the follow-up value for one customer.
Permissions
- On a company subdomain (e.g. https://{user_domain}.bull36.com) the user must match that Host — Login and protected APIs reject another company with success=0, error user_not_in_company. On a main brand host (bull36.com, biz1.co.il, mastrocrm.com, …) the company domain gate is skipped.
- User must be allowed to edit this customer.
Action
- Updates the customer followup field.
Push Service
Pushes the follow-up change to team members that can see this customer.
Automation
Runs automation event customer.followup with customer_id and followup when enabled.
Special Instructions
- On a company subdomain (e.g. https://{user_domain}.bull36.com) the user must match that Host — Login and protected APIs reject another company with success=0, error user_not_in_company. On a main brand host (bull36.com, biz1.co.il, mastrocrm.com, …) the company domain gate is skipped.
- Send followup as UTC datetime in Y-m-d H:i:s format.
Required Parameters
| Name | Type | Sample | Explanation |
|---|---|---|---|
customer_idpost | int | 123 | Customer id. You may also send record_id. |
followuppost | datetime | 2026-07-20 10:00:00 | UTC follow-up date/time to save. You may also send update_value. 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. |
Optional Parameters
No optional body parameters are defined for this function.
Authentication
Send the bearer token returned by Login in the request header. The user must be from the same company domain as this Host — a token from another company is rejected (user_not_in_company).
Authorization: Bearer YOUR TOKEN
Sample Request
{
"url": "\/app\/Customer.FollowUp",
"method": "POST",
"headers": {
"Authorization": "Bearer YOUR TOKEN"
},
"body": {
"customer_id": "123",
"followup": "2026-07-20 10:00:00"
},
"url_user": "https:\/\/{user}.bull36.com\/app\/Customer.FollowUp",
"url_domain": "https:\/\/{domain}\/app\/Customer.FollowUp"
}Endpoint
POST /app/Customer.FollowUp
POST https://{user}.bull36.com/app/Customer.FollowUp
POST https://{domain}/app/Customer.FollowUpSample Output
{
"status": 1,
"message": "Success"
}Fail Response
{
"success": 0,
"message": "Customer not found or permission denied"
}JavaScript Example
const token = 'YOUR TOKEN';
const body = new URLSearchParams();
// Fill body fields from the Sample Request JSON above.
const res = await fetch('/app/Customer.FollowUp', { method: 'POST', headers: { Authorization: 'Bearer ' + token }, body });
const data = await res.json();
console.log(data);Error Example
{
"status": 0,
"message": "permission denied"
}