Acumatica offers several features that work together to enable you to build integrations with little to no code. One of those features is Push Notifications. Push Notifications were first introduced in Acumatica in 2017 R2 and are still an underutilized feature of the system.  

Push notifications can be set up against any screen in Acumatica but can be very powerful when the source uses a Generic Inquiry. The Generic Inquiry allows you to link data from several tables and if necessary, transform the data into the formats needed for your use case such as converting picklist values for another system or performing calculations based on multiple columns.  

The push notification is formatted in JSON which is a very easy format to use with tools like Microsoft Flow or Zapier to integrate Acumatica data into many different types of systems. A practical example would be creating an appointment on the Outlook Calendar when an event is scheduled on a CRM Opportunity. Microsoft Flow easily connects with Acumatica and a connector is already pre-built to create an Event on the Outlook Calendar. 

Push notifications have several pieces of information as pictured in the Example below. This message is based on a generic inquiry that might be used for creating a Calendar Event: 

“body”: { 

“Inserted”: [ 

            { 

                ”OpportunityID”: ”111111″, 

                ”OwnerName”: ”Joe Smith”, 

                ”OwnerEmail”: ”rbrown@proserve-solutions.com”, 

                ”ContactName”: ”Chris Mosgeller”, 

                ”ContactEmail”: ”rbrown@proserve-solutions.com”, 

                ”OpportunitySubject”: ”2 windows and 1 door”, 

                ”EventSubject”: ”2 windows and 1 door”, 

                ”EventLocation”: ”60 Bryant Woods S Suite 2, Buffalo, NY 14228″, 

                ”EventStatus”: ”Open”, 

                ”Category”: ”Demo”, 

                ”EventBody”: ”First time demo of Acumatica” 

                ”EventStart”: ”11/5/2021 2:26:00 PM”, 

                ”EventEnd”: ”11/5/2021 2:56:00 PM”, 

                ”EventCreatedDate”: ”2021-11-02T18:26:39.717″, 

                ”NoteID”: ”fae0b862-0a3c-ec11-818c-1246df81f056″, 

                ”ContactFirstName”: ”Joe”, 

                ”EventTime”: ” 2:26 PM”, 

                ”EventDate”: ”11/5/2021″, 

                ”OutlookEventID”: null, 

                ”OutlookEventLink”: null, 

                ”SchedulerName”: ”Rob Brown”, 

                ”OutlookSubject”: ”Joe Smith – Acumatica Demo”, 

                ”SchedulerEmail”: ”rbrown@proserve-solutions.com”, 

                ”Phone1″: ”2155555555″ 

            } 

        ], 

        ”Deleted”: [], 

        ”Query”: ”Demo-Calendar”, 

        ”CompanyId”: ”TEST”, 

        ”Id”: ”aaaaaa-bbbb-4423-b5f0-dd09ac809672″, 

        ”TimeStamp”: 637714743997028000, 

        ”AdditionalInfo”: { 

            ”PXPerformanceInfoStartTime”: ”11/02/2021 18:26:39″ 

        } 

    } 

Inserted – new rows in the query.  

Deleted – rows that were present in the query but were removed. Comparing deleted and inserted sets will show updated fields.  

Query – the name of source definition (the class name for Built-In definitions or Generic Inquiry name for GI definition).  

CompanyId – login name of the company.  

Id – transaction identifier generated on DB level. We guarantee at least one delivery, so ‘Id’ and ‘Query’ fields can be used for deduplication.  

TimeStamp – value that is guaranteed to increase with every transaction. Can be used to define order. 

Taking Microsoft Flow as an example for connecting to the Push Notification, we can easily set up a secure connection between Acumatica using the Connected Applications Screen. This screen will automatically create both a ClientID and Shared Secret, both of which are hidden below for security reasons.  

Graphical user interface, text, application

Description automatically generated

We can then use these two pieces of information to connect to Acumatica through Flow. A basic example would look something like this. The Create Event and any other workflow you may have would be included in the Apply to Each section.  

Graphical user interface

Description automatically generated 

The Login syntax would be like this. Replacing the portions in Red with the specific information from your system. 

There are many different things you can add to the Apply to Each section such as adding a write back to Acumatica with the Calendar Event ID or capturing changed events versus new ones and having different workflows for each.  If you simply want to create the Calendar Event you can add the prebuilt connector and map the fields from our Push Notification accordingly.  

Graphical user interface, text, application, email

Description automatically generated

 
 
It is important to remember to log out of Acumatica after processing the Push Notification to avoid reaching an API connection limit. That can be handled with an HTTP request at the end of the flow with something like the following.  

Graphical user interface, text, application, email

Description automatically generated
 
Are you ready to start utilizing Push Notifications in Acumatica? Chat with our team today, so we can help you get started! 

Leave a Reply