How to automate entity conversion from one type to another?

Hi, how could I automate the copying of all Google Calendar events into new entities in a different database? I have been manually converting each one, one at a time. It’s time-consuming and I’m failing to keep up with new events as they are added.

Use case:
I use a calendar view to display my meetings and then schedule ‘task’ entities where I have gaps. I move these tasks around frequently throughout the week, so ‘drag-n-drop’ rescheduling on the calendar view is great.

My meetings are synced from my Google Calendar. Here is a problem: all scheduled entities from all databases are read-only in every calendar view with at least one Google Calendar.

So in order to use drag-n-drop rescheduling with both tasks and GCal events, I need to copy the GCal events into a Fibery database–I call this ‘meetings’. I can use drag-n-drop on a calendar view when I substitute the Meetings database in the place of the GCal events (read-only) database.

So how can I have every GCal event convert itself to a Meeting entity without manual intervention?

Let me know if this isn’t clear, thank you for any help!

1 Like

I am thinking this could work as a 2-part automation involving some formulas in the second part, maybe.

Step 1: When a new GCal event is created, create a new Meeting entity and link it.
Step 2: When a new Meeting is linked (not sure how to specify when it is linked to the GCal event specifically), update each field. – here I need to use a formula for each field to reference the appropriate data from the GCal event.

Does that sound right? If so, could someone point me in the right direction on the formula syntax?

I think I found the strategy from inside the “30-60-90 onboarding” template, where @Polina_Zenevich 's tasks for a new team member are copied over from a set of template tasks in a different database.

Syntax for setting the value of the new entity from the value in the source entity looks like this from 30-60-90 example:

[Step 1 Onboarding Task Template].Name

I’ll modify it for my purpose and give it a try soon and report back.

Was this syntax described somewhere in the user guide I missed?

Hi!

Yes, a two-step automation should work:

  1. On the Event: On creation, create and link a meeting
  2. On the Meeting: On creation, set the fields from the linked Event using formulae.

Hope that helps. :slight_smile:
Wolf

Is there a guide to formulae somewhere? I had used the AI formula helper in the past, but it doesn’t seem to exist inside of the automation section

Hi, a quick search revealed this:
https://the.fibery.io/@public/User_Guide/Start-6568#Guide/Formulas-39

I also think in the formula editor there is a Help or user guide button and some inline help. :slight_smile:

Cool, seems worth a read-through. Thanks!

Also, looks like it’s easy enough to accomplish what I was trying to do with a 2-step automation, both on the Event;

  1. Create and link a meeting
  2. Update the linked meeting.

Not sure why setting the fields during step 1. doesn’t work, but no big deal. Super glad to get this to work; it’s going to really improve my workflow!!!

Actually, I cannot remember from the top of my head if there is an option to update fields in a linked entity, but I think not.

It’s a design decision of how far the platform allows automations to reach and I think the Fibery team took the right decision (from a long-term maintainability perspective) to limit the reach to the same entity, its properties and it’s relations.

That way it’s clear that tour Meeting fields can only be set in an automation in the Meeting database. Otherwise you could have automations in one part of the system changing completely unrelated parts somewhere in another part. That would be a nightmare. :slight_smile:

This way it’s simple, clean and predictable even if a tad more cumbersome. :wink:

It should be possible with a single automation.
The Add X Item action in an automation allows you to define the values of fields in the entity being created, so you would just use formulas for each field, e.g. [Step 1 Message].Name and so on.

Yep, we do this for creating statement entities based off of our email integration. When we receive a new email that fits certain criteria, a rule within the email database will create a Finance Statement entity whose name is based off of the corresponding name field in the original email:

We do similar things with the date field elsewhere. You just need to use the formula feature. So both the creating of the linked entity and the automatic filling of fields happen within the same rule.

1 Like

@Chr1sG Attempting to define the values of fields within the Add X (where X is Meeting) Item action breaks the whole thing; if I define no fields, a blank item is created and linked (as expected), but if I define the fields, no item is created or linked at all. I guess this is a bug, but I’m not confident enough to report it. My workaround is to use the Add X Item action to create a blank item and link it, and then in a second step to use the Update X Item action, and define the values of my fields there, in just the same way you suggested, e.g. [Step 1 GCal Event].Name and so on. This two-step pair of actions is working for me.

For the case where you think there is a bug, pls share what your automation looks like, and what the activity log shows.
It definitely should be possible, and it’s a major bug if it isn’t working as expected

Sure, I’ll aim to recreate the issue and post it in the bugs section in the next few days.