How to Manage a Creator Sponsorship Pipeline and Content Calendar on Monday
Capture inbound sponsorship leads from a web form, log each one as a tracked item on a Monday.com board with a content-calendar deadline, branch on deal value, and alert your team in Slack, all without leaving Spojit.
What This Integration Does
If you run sponsorships as a creator, brand-deal leads arrive faster than a spreadsheet can keep up with: a form fill from your media-kit page, a "rate card please" reply, an agency reaching out. This workflow turns every one of those into a structured pipeline entry. When someone submits your sponsorship form, Spojit creates a Monday.com item on your sponsorship board, fills the deal-value, brand, and deadline columns, and routes high-value deals to your team in Slack so nothing worth real money sits unread. The same item doubles as the content-calendar deadline you will deliver against once the deal closes.
The workflow runs on a Webhook trigger: your form (or the form tool's webhook setting) POSTs the lead to a Spojit URL, and the run starts within a second of submission. A Transform node normalizes the form fields, a Connector node in Direct mode calls Monday.com's create-item to write the board item, a Condition node splits on the proposed deal value, and the high-value branch sends a Slack message plus an email summary. Each submission produces exactly one new Monday.com item; the workflow holds no state between runs, so resubmitting the same form simply creates another item (see the dedup tip below to avoid duplicates).
Prerequisites
- A Monday.com connection added in Spojit (Connections → Add connection), authorized with a token that can read and create items on your sponsorship board.
- The numeric
boardIdof your sponsorship board, and thegroupIdof the group new leads should land in. Find both with a one-off Direct-mode call tolist-boardsorget-board. - Your board's column IDs (for example a numeric Deal Value column, a Brand text column, and a Date column for the content deadline). Column IDs are the internal ids shown by
get-board, not the column titles. - A Slack connection authorized to post to the channel your sponsorship team watches, and that channel's ID (from
list-channels). - A Webhook signing connection so the trigger can verify inbound posts. If your form tool cannot sign requests, use the Custom scheme or a shared-secret query parameter you check in a Transform node.
- For the email summary, the recipient address must be on your org allowlist under Settings → General → Email recipients.
Step 1: Receive the lead with a Webhook trigger
Open the Workflow Designer, add a Trigger node, and set Trigger Type to Webhook. Attach your Webhook signing connection so inbound posts are verified by HMAC. Spojit shows the workflow's URL: point your sponsorship form (or your form platform's webhook setting) at it. The trigger output is the parsed JSON body, available as {{ input }}. A typical form post looks like this:
{
"brand": "Northwind Coffee",
"contactName": "Priya Shah",
"contactEmail": "priya@northwind.example",
"platform": "YouTube",
"dealValue": "4200",
"deliverable": "1x dedicated review video",
"targetDate": "2026-08-15"
}
The webhook returns 202 with an executionId to the caller immediately, so your form submitter is not left waiting on the pipeline work.
Step 2: Normalize the form fields with a Transform node
Add a Transform node so the rest of the workflow reads from clean, predictable variables instead of raw form keys. Map the incoming fields and coerce the deal value to a number you can compare on later. For example, build an object like:
{
"brand": "{{ input.brand }}",
"contact": "{{ input.contactName }}",
"email": "{{ input.contactEmail }}",
"platform": "{{ input.platform }}",
"dealValue": "{{ input.dealValue }}",
"deadline": "{{ input.targetDate }}",
"deliverable": "{{ input.deliverable }}"
}
If your form sends the deal value as a string with a currency symbol, clean it here: a Connector node on the text connector with replace strips the symbol, and the math connector's round gives you a plain number. Name the Transform output something memorable like lead so later nodes reference {{ lead.dealValue }}.
Step 3: Create the Monday.com pipeline item (Direct mode)
Add a Connector node on the Monday.com connector, set it to Direct mode, and pick the create-item tool. Direct mode is the right choice here because this is a single, predictable write with no AI judgment needed, so it costs no AI credits. Map the fields:
boardId= your sponsorship board id.name= the item title, for example{{ lead.brand }} - {{ lead.deliverable }}.groupId= the group new leads land in (optional, but keeps "New leads" tidy).columnValues= a JSON object keyed by your column IDs that writes the deal value, brand, contact, and the content-calendar deadline.
The columnValues object uses Monday.com's column-id-to-value shape. Using your own column IDs, it looks like:
{
"numbers": {{ lead.dealValue }},
"text_brand": "{{ lead.brand }}",
"text_contact": "{{ lead.contact }}",
"date_deadline": { "date": "{{ lead.deadline }}" }
}
The Date column doubles as your content-calendar deadline, so the same item you triage in the pipeline is the one you will deliver against. Name the node output item; the response includes the new item's id as {{ item.create_item.id }}, handy for the team notification.
Step 4: Branch on deal value with a Condition node
Add a Condition node to split high-value brand deals from smaller ones so your team's attention goes where the money is. Configure the condition to check {{ lead.dealValue }} is greater than 1000 (set your own threshold). The true branch handles the deals worth a personal nudge; the false branch can simply end, letting smaller leads sit on the board for batch review. Wire the high-value path into Steps 5 and 6.
Step 5: Alert the team in Slack (Direct mode)
On the true branch, add a Connector node on the Slack connector in Direct mode and pick the send-message tool. Map the channel field to your sponsorship channel ID and the text field to a concise, scannable summary with a deep link back to the Monday.com item:
:moneybag: New sponsorship lead: *{{ lead.brand }}* ({{ lead.platform }})
Deal value: {{ lead.dealValue }}
Deliverable: {{ lead.deliverable }}
Deadline: {{ lead.deadline }}
Board item: {{ item.create_item.id }}
If you want the team to reply in a thread, capture the message timestamp from the send-message output and reuse it later with get-thread-replies in a follow-up workflow.
Step 6: Send an email summary of the lead
Still on the true branch, add a Send Email node so there is a durable record outside Slack (useful for whoever owns the relationship). This node uses Spojit's built-in mail service, so no connection is needed. Set Recipients to your deals inbox (which must be on the org allowlist), a templated Subject like New {{ lead.platform }} sponsorship: {{ lead.brand }}, and a Body that restates the brand, contact email, deal value, deliverable, and deadline. Set If sending fails to Continue anyway so a mail hiccup never loses the lead that is already safely on your Monday.com board. To send from your own creator domain instead, swap this for a Connector node on the Resend or SMTP connector using send-email.
Tips
- Scaffold the whole canvas fast by describing it to Miraxa, the intelligent layer across your automation: "Build a webhook workflow that creates a Monday.com item with create-item, adds a Condition on deal value over 1000, and sends a Slack send-message on the true branch." Then fine-tune the column mapping in the properties panel by hand.
- Keep the Date column's value in
YYYY-MM-DDform. If your form sends a different format, normalize it in the Transform step with the date connector'sformattool before mapping it intocolumnValues. - Add a Connector node on Monday.com with
create-updateaftercreate-itemto drop the raw form details as the first update on the item, so the full context lives on the card itself. - For low-value leads on the false branch, batch them: let a separate Schedule-triggered workflow run
list-itemseach morning and post a single Slack digest instead of one message per lead.
Common Pitfalls
- Column IDs are not column titles. The keys in
columnValuesmust be the internal column IDs fromget-board(for exampledate_deadline), not the human label "Deadline". Mapping to a title silently writes nothing. - Deal value as text breaks the Condition. If
dealValueis still a string, a greater-than comparison can behave unexpectedly. Coerce it to a number in the Transform step so the Condition node compares numerically. - Webhook replays create duplicate items. If your form retries on timeout, you can get two identical Monday.com items. Enable the trigger's opt-in dedup via an event-id header, or have the form send a stable submission id you check before
create-item. - Email recipient not allowlisted. The Send Email node will fail to deliver to an address that is not on Settings → General → Email recipients. Add your deals inbox there first.
Testing
Before pointing your live form at the workflow, test on a throwaway board group. Use a tool like curl or your form platform's "send test" button to POST a sample lead to the webhook URL, then open the run in execution history and confirm each node: the Transform output has a numeric dealValue, create-item returned a new item id, the Condition took the branch you expected, and the Slack message landed in a test channel. Send one low-value and one high-value payload to verify both branches. Once the item lands correctly with the deadline column populated, switch the channel and board IDs to production and go live.