Sage X3 and Asana integration
Sage X3 manages manufacturing, procurement, and finance across multiple sites. Asana coordinates project and task workflows across your teams. Connecting them surfaces procurement activities and purchase order changes directly into the Asana workspace where project teams and procurement staff work together. New purchase orders, supplier changes, and order receipts in Sage X3 flow into Asana as tasks, enriched with cost center, GL account, and amount so every team sees real-time procurement status without jumping between systems.
What moves between them
The main flow runs from Sage X3 into Asana. ml-connector polls purchase orders, supplier records, and order changes from Sage X3 on a configurable schedule and creates or updates corresponding Asana tasks in designated projects. Supplier records and cost center master data are synced first so that every task references a valid supplier and cost center in custom fields. Purchase order amounts and GL account mappings are carried as task custom field values. The integration typically runs daily or on-demand to pick up orders created overnight or during the business day. Asana webhooks are not used for inbound data because the source (Sage X3) has no push capability.
How ml-connector handles it
ml-connector stores Sage X3 credentials with the customer-specific server URL and folder name, and authenticates using the configured OAuth2 or HTTP Basic method. On the Asana side it stores a Personal Access Token or OAuth2 credentials, then uses Asana's custom field API to ingest GL account, cost center, and supplier reference fields. Because Sage X3 has no webhooks, ml-connector polls on a schedule, using the updatedDate field to find only records changed since the last run, reducing API traffic. Asana access tokens are refreshed before expiry. When a purchase order is read from Sage X3, the connector looks up or creates the matching Asana project per cost center, then creates a task with the order number, supplier name, amount, and GL account. Supplier and cost center records are validated against the master tables in Sage X3 before mapping so that invalid dimensions do not propagate. If an Asana task create fails (for example, due to a missing cost center project), the record is logged with full audit trail and can be replayed manually. Rate limits and polling intervals are tuned to stay within both systems' documented and undocumented constraints.
A real-world example
A mid-market manufacturer with multiple distribution centers runs Sage X3 for procurement, inventory, and finance. The procurement team uses Asana for order tracking and project coordination. Before the integration, procurement staff entered Sage X3 purchase orders, then manually created matching tasks in Asana, duplicating the supplier name, order amount, and cost center on each entry. After every new order was created in X3, someone had to update the corresponding Asana task with the latest status. With Sage X3 and Asana connected, every new or updated purchase order in X3 automatically creates or updates an Asana task in the right project with the cost center and GL account pre-filled in custom fields. The procurement team sees real-time order status in their workflow without manual re-entry, and project managers see cost impact directly on their tasks.
What you can do
- Poll Sage X3 for new and updated purchase orders, supplier records, and cost center master data on your schedule.
- Create and update Asana tasks from Sage X3 purchase orders, with supplier name, order amount, and GL account carried in custom fields.
- Map Sage X3 cost centers to dedicated Asana projects so procurement activities organize by business unit.
- Store Sage X3 server URL, folder name, and credentials securely, and refresh short-lived OAuth2 tokens before expiry.
- Track every record change in a full audit log, with retry and replay for failed Asana task creates.
Questions
- Does ml-connector push purchase order updates from Asana back into Sage X3?
- No. The integration is one-way from Sage X3 into Asana. Sage X3 is the source of truth for purchase orders, suppliers, and GL accounts. Changes made to Asana tasks do not flow back to X3; Asana is used for visibility and team coordination.
- How often does ml-connector check for new purchase orders in Sage X3?
- The polling schedule is configurable per deployment. Most customers run daily overnight syncs to capture orders created during the business day. More frequent polling (hourly or on-demand) is possible but will consume more API quota from both systems.
- What happens if an Asana task create fails because a cost center does not exist?
- The record is logged with the full error in the audit trail, tagged as failed, and held for manual review. Once the missing cost center is added to Sage X3, the connector can replay the purchase order record and create the task with the correct cost center project mapping.
Related integrations
More Sage X3 integrations
Other systems that connect to Asana
Connect Sage X3 and Asana
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started