Example #1
0
        private object Control_OnExternalDataBound(object sender, string sourceName, object parameter)
        {
            switch (sourceName)
            {
            case "event":
                var eventValue = ValidationHelper.GetInteger(parameter, -1);
                var eventType  = ZapierHelper.GetWebhookEventTypeEnum(eventValue);
                return(eventType.ToStringRepresentation());
            }

            return(parameter);
        }
Example #2
0
        public override void Execute()
        {
            var url = GetResolvedParameter("WebhookURL", string.Empty);

            if (url != string.Empty)
            {
                ZapierHelper.SendPostToWebhook(url, Node);
            }
            else
            {
                LogService.LogEvent(EventTypeEnum.Warning, nameof(ZapierWorkflowAction), "EXECUTE", $"Workflow '{Workflow.WorkflowDisplayName}' step 'Send page to Zapier' couldn't be processed because it is missing the webhook URL.");
            }
        }
Example #3
0
        public override void Execute()
        {
            ActivityInfo activity = null;
            var          url      = GetResolvedParameter("WebhookURL", string.Empty);

            if (url != string.Empty && Contact != null)
            {
                // Try to get custom state data (activity)
                if (!DataHelper.IsEmpty(StateObject.StateCustomData))
                {
                    var activityDetailItemID = StateObject.StateCustomData[TriggerDataConstants.TRIGGER_DATA_ACTIVITY_ITEM_DETAILID];
                    var activityItemID       = StateObject.StateCustomData[TriggerDataConstants.TRIGGER_DATA_ACTIVITY_ITEMID];
                    var activityValue        = StateObject.StateCustomData[TriggerDataConstants.TRIGGER_DATA_ACTIVITY_VALUE];
                    var activitySiteId       = StateObject.StateCustomData[TriggerDataConstants.TRIGGER_DATA_ACTIVITY_SITEID];
                    var q = ActivityInfo.Provider.Get()
                            .TopN(1)
                            .WhereEquals("ActivityItemID", activityItemID)
                            .WhereEquals("ActivityItemDetailID", activityDetailItemID)
                            .WhereEquals("ActivitySiteID", activitySiteId)
                            .WhereEquals("ActivityContactID", Contact.ContactID)
                            .WhereLessThan("ActivityCreated", StateObject.StateCreated.AddHours(1))
                            .WhereGreaterThan("ActivityCreated", StateObject.StateCreated.AddHours(-1));
                    if (activity == null)
                    {
                        q.WhereNull("ActivityValue");
                    }
                    else
                    {
                        q.WhereEquals("ActivityValue", activityValue);
                    }
                    activity = q.FirstOrDefault();
                }

                ZapierHelper.SendPostToWebhook(url, new BaseInfo[] { Contact, activity });
            }
            else
            {
                LogService.LogEvent(EventTypeEnum.Warning, nameof(ZapierContactAutomationAction), "EXECUTE", $"Marketing automation '{Workflow.WorkflowDisplayName}' step 'Send contact to Zapier' couldn't be processed because it is missing the webhook URL or the contact wasn't found.");
            }
        }