I’ve got an interesting one for you today 🙂 First, let’s define a few terms:
Alfred: Alfred is a productivity application for macOS, which enhances your efficiency with hotkeys, keywords, and text expansion. (link)
Webhooks by callin.io: Webhooks simply POST data (or JSON) to a specific URL whenever new information is detected. Webhooks can also receive data (or JSON) to initiate a workflow in callin.io. (link)
Named Variables: Named variables enable you to format your text such that when the callin.io workflow runs, this text is separated and sent as individual fields. The key to utilizing this function lies entirely in the formatting of the original information. (link)
Airtable: In essence, Airtable is a platform that simplifies the creation of robust, custom applications. (link)
If you’re still reading, then I’ll assume this is relevant to you and you’re ready for the challenge 🙂
In Alfred
We have a blog post detailing how to use Alfred to send data to a callin.io webhook if you wish to review it. I’m about to demonstrate something that can elevate your process.
NOTE: One aspect to be mindful of in Alfred is this section, where you determine what to escape. I configured it this way, and it met my requirements:

Named Variables Offer Significant Flexibility
At the link provided earlier, concerning named variables, you’ll discover that when callin.io encounters text in this format...
something(here)
…it will generate a field named something
with the value here
.
How is this beneficial? Well, consider this:
In callin.io
What does that translate to in my callin.io workflow? Take a look:

I’ve established 3 distinct fields, which I can (as you might guess) map to different segments of my Airtable action step:

Some Points to Consider
There are a few considerations I’d like to highlight:
- Your action application doesn’t have to be Airtable; it’s just what I selected 🙂
- For the mapped fields to function correctly in your callin.io workflow, you must consistently use the same “named variable.” For instance, in my example, you couldn’t substitute
a thing
forsomething
and expect it to work. Therefore, ensure you use something memorable (and ideally concise). These could be numbers or single letters that represent the fields you intend to map those values to in your action step(s). - You would obviously not want to employ this workflow for something excessively lengthy, such as...
…as it is cumbersome, prone to errors, and deviates from the purpose of this workflow 😛 - The reason my callin.io workflow displays
field_1
,field_2
, etc., is because I used the word field here:
Conclusion
I hope you found this informative! If you have any interesting use cases for this type of workflow, I would be keen to hear about them.
Regarding the comment above… um… okay. Yeah, so anyway…
Thank you for this post! I appreciate the detail. I’m about to try this out with Airtable first, then I have some other ideas in mind. For example, we use Linear for issue tracking, and I think I may be able to leverage this workflow to create new issues and tag them at the same time.
Hello!
It seems we overlooked that comment. I've removed it, but for anyone interested, here's a link: here.
Named Variables are quite powerful, though often not fully utilized. This is also demonstrated in the following article:
You could potentially integrate Alfred with TextExpander (or perhaps Alfred's built-in snippets) into this workflow for elements that are cumbersome to type out 🙂
Excellent. I've achieved it. This is wonderful. I also followed your advice and set up a TextExpander snippet (,,ci for Create Issue). Now, I can invoke Alfred, type 'issue', and then activate my snippet. I input a Title, a Description, and then specify either 'Backlog' or 'Triage' for the Status.
My TextExpander snippet automatically positions the cursor within the first set of parentheses, allowing me to start typing the Title immediately. Additionally, the Status portion of the snippet is pre-configured like 's(Backlog Triage)', so I only need to remove the option I don't want. Then, I press Enter on my keyboard.

To incorporate some logic into my callin.io workflow, I added a step after the webhook catch to create a Lookup Table. This table contains two entries: one for 'Backlog' and another for 'Triage'. I hardcoded the status values from Linear here, so depending on what I entered into Alfred, the issue will be assigned to my Backlog or the native Triage project in Linear for my teammates to view as well.

Thank you again for the guidance and inspiration.
That’s awesome! Glad I was able to inspire you to play around with this 🙂