Grab Campaign Configuration
To perform GrabFood Promotion Configuration, access to
[Sales Channel] and under Third Party Integration , look for
[GrabGood]

Select
[GrabFood Campaigns] from the Sales Section

In the
[GrabFood Campaigns] form, it will list all the GradFood campaigns and promotions that have been created.

Promotion Status | Description |
Active (Green) | Promotion is currently running (current date/time is within the Promotion Start DateTime and End DateTime).
It will show as Active, 2 hours before the actual start time. |
Inactive (Grey) | Promotion is not running (current date/time is before the Promotion Start DateTime or after the End DateTime). |
Campaign Update Restriction (Grab + Xilnex Requirement)
To ensure successful campaign synchronization and creation on Grab side:
- Grab requires at least 1 hour to process and create the campaign.
- Xilnex also requires additional time to perform campaign validation, queue processing, and synchronization.
- Therefore, Xilnex enforces a 2-hour update cut-off before the campaign start time as a failsafe buffer to prevent last-minute update failure.
Any update made within 2 hours before campaign start time will be restricted/blocked.
Example:
If campaign start time = 2:00 PM, campaign updates must be done before 12:00 PM.
Campaign Status
Indicates the current synchronization progress and result of the campaign between Xilnex and Grab.
Below are the campaign status and its description.
Campaign Status | Description |
Synced | The campaign has been successfully synchronized to Grab. The latest campaign details are updated on Grab side. |
PendingSync | Campaigns are queued for synchronization but have not started syncing yet. A manual sync will need to be triggered. |
Syncing | Campaign synchronization is currently in progress. Changes may not be reflected on Grab yet. |
FailedSync | Campaign synchronization to Grab failed. The system will require retry or manual investigation. |
Deleting | Campaign deletion request has been sent and is currently being processed. Campaigns may still exist on Grab temporarily. |
FailedDelete | Campaign deletion process failed. Campaigns might still remain active/exist on Grab side. |
Progress status indicates the overall completion status of campaign synchronization, based on the current Campaign Status of each record.
Progress | Description |
Complete | All campaign records have finished processing. No remaining records in PendingSync or Syncing status. The final result will be reflected in the Success / Failed count. |
Incomplete
| Sync process is not fully completed yet. There are still campaign records in PendingSync or Syncing status or FailedSync status. Progress summary will show the current count of Success / Pending / Failed, which indicates that some sync to Grab successfully and some might not sync successfully to Grab. |
When mouse-over the progress status, it will display a breakdown of the sync result:
- Success Count = Total campaigns synced successfully to Grab
- Pending Count = Total campaigns still in progress of syncing to Grab or deleting from Grab
- Failed Count = Total campaigns failed due to encountered errors
Understanding Campaign Type and Campaign Level

Grab promotion only supports the following campaign types:
- Net Discount
- Percentage Discount
- Bundle Discount
- Free Item Discount
- Free Delivery Discount
Each campaign type supports different Campaign Levels.
Net Discount
Campaign Level: Item Level, Category Level and Order Level
A fixed amount discount applied onto different campaign levels.
Campaign Level | Description |
Item Level | A discount is applied to selected item(s) with a fixed amount. |
Category Level | A discount is applied to all items under selected category(s) with a fixed amount. |
Order Level | A discount is applied to the total order amount with a fixed amount. |
Percentage Discount
Campaign Level: Item Level, Category Level and Order Level
A percentage-based discount applied onto different campaign levels.
Campaign Level | Description |
Item Level | Discount is applied to selected item(s) using percentage. |
Category Level | Discount is applied to all items under selected category(s) using percentage. |
Order Level | Discount is applied to the total order amount using percentage. |
Bundle Discount
Campaign Level: Item Level only
Apply discount when customers purchase a specified combination of items. Bundle Discount supports multiple bundle discount types:
Bundle Discount Type | Description |
BundleSameNet | Same item bundled with a fixed amount discount. |
BundleDiffNet | Different items bundled with a fixed amount discount. |
BundleSamePercentage | Same item bundled with a percentage discount. |
BundleDiffPercentage | Different items bundled with a percentage discount. |
BundleSameFixPrice | Same item bundled and sold at a fixed price. |
Free Item Discount
Campaign Level: Item Level only
Campaign Level | Description |
Item Level | A customer receives a free item when purchasing selected item(s). |
Free Delivery Discount
Campaign Level: Order Level only
Campaign Level | Description |
Order Level | Free delivery is applied at order level based on campaign conditions. |
In the
[GrabFood Campaigns] form click on the
[Add] button, a [Add Campaign] modal will prompt for you to fill in the campaign information.

Bundle Discount Type | Description |
Campaign Name | Name of the campaign for identification and reference. |
Status | System-generated campaign status. This field is not editable and will auto-update based on the campaign timeline and sync progress. |
Start Date / Start Time | The date and time when the campaign starts. |
End Date / End Time | The date and time when the campaign ends.
Based on Grab promotion policy, the duration between Start DateTime and End DateTime must be at least 2 hours. |
Campaign Type | Type of campaign to be created (e.g. Net Discount, Percentage Discount, Bundle Discount, etc.).
Refer to Understanding Campaign Type and Campaign Level section for details. |
Campaign Level | Defines the discount application level (Item / Category / Order).
Refer to Understanding Campaign Type and Campaign Level section for details. |
Total Redemption | The maximum number of times the campaign can be redeemed. |
Total Redemption Per User | The maximum number of times the campaign can be redeemed per customer. |
Apply To | Defines which customer type is eligible for the campaign. All – Applicable to all customers New – Applicable to customers who have not ordered from this store in the last 3 months (Order-level campaign only) |
Menu Profile | Only stores and items under the selected menu profile are eligible to be applied in this campaign. |
Add Schedule | Defines the campaign active schedule for each day of the week (Sunday to Saturday), including the start and end time. |
Stores | Stores that the campaign will apply to. Available store lists are filtered based on the selected Menu Profile. |
Items | Items included in the campaign. Available item list is filtered based on the selected Menu Profile. |
Once all the information is filled, click on the [Save] button to save the campaign.
System validation will be performed, and an error message will be prompted if any required field or setup is incomplete.
In the [GrabFood Campaigns] form, select [Sync Campaign] to sync the campaign to Grab.
The Campaign Status, which will update from PendingSync to Syncing, the status update usually reflects instantly, but in some cases it may take around 5–15 minutes. Use the
[Refresh] button to refresh the status.

Once the sync is successful, the status will change to Synced.
If any error occurs during syncing, the status will change to FailedSync.
You may also mouse over the Progress column to view the sync summary, including the number of Success, Pending, and Failed records.
P/S Note : If you have made any changes to the menu content, it is advised to sync the menu first before syncing the campaign.
This is to ensure the promotion items exist in the Grab live menu, otherwise the campaign sync may fail and cause promotion creation errors.
To Check on the Status of Campaign Sync
Double-click on the campaign and switch to the
[Mapping] tab.
It will display the details of each record, including whether it is currently being created or if any error was encountered.
To Resolve Campaign Sync Error
Steps to resolve the campaign sync error, if a campaign sync error occurs.

- Double-click the campaign and go to the [Mapping] tab to review the error details.
- Make the necessary changes based on the error message accordingly
- Click [Save] to save the changes
- Perform [Sync Campaign] again
Note: All error messages are returned from Grab (API response), not generated by Xilnex.
To Delete a Campaign
Click on the campaign and select [Delete Campaign] to remove it from the system.
The deletion will also attempt to remove the campaign from Grab during the next sync process.

A confirmation message will be prompt, please note that this action cannot be reverse once confirm
A success delete message will be shown once it is successfully triggered.