Skip to main content

Schedule Proposals

A cross-promotion only runs when both sides have agreed the same go-live date, time, timezone and duration. Schedule proposals are how that agreement is negotiated: one side proposes timing, the other side decides. You can never rule on your own proposal.

Proposals happen in two situations:

  1. Before confirmation — you joined a campaign (or accepted a request whose go-live had passed) and want different timing than the creator set.
  2. After confirmation — plans changed, and either side wants to move an already-confirmed campaign.

Both use the same flow and the same rules.

Proposing new timing

As the joiner, during the join flow

On the join page's final step, choose Propose changes instead of Keep this schedule. The scheduler opens pre-filled with the creator's timing — adjust the date, time, timezone or duration and press Send proposed changes. You'll see "Changes sent ✈️": "We've emailed your partner to review your proposed schedule. You'll get an email the moment they accept or decline."

From the campaign page

On the campaign page (/telegram/dashboard/cross-promotion/campaign/YOUR-CODE):

  • On a campaign in Awaiting confirmation, the joiner sees Propose changes next to Accept & confirm.
  • On a Confirmed campaign, either participant sees Propose new time — available any time while the current go-live is still ahead.

Pressing either opens the "Propose new timing" panel with the shared scheduler ("Your partner will review and approve this new time before it takes effect."). Pick the new schedule and press Send proposed changes.

What happens next:

  • The campaign moves to the New time proposed state.
  • Your partner is emailed (and DM'd if their Telegram is linked) that new timing awaits their review.
  • Your side of the campaign page shows "Waiting on your partner" with your proposed schedule, and: "You proposed new timing. Your partner will review and accept or decline — we'll email you the moment they do."

Reviewing a proposal sent to you

When your partner proposes new timing, your campaign page shows the banner "New schedule proposed — Your partner proposed new timing. Review the changes and accept or decline." with the two schedules side by side:

ColumnContents
Currently agreedThe schedule as it stands — go-live, timezone, duration, end time
Partner proposesThe new schedule they want

Below the comparison is an optional text field — "Reason if you decline (optional)", up to 300 characters — and two buttons:

  • Accept changes — the new schedule takes effect immediately and the campaign is (re-)confirmed. Both of you are emailed the updated details.

  • Decline — the campaign reverts to what it was before the proposal:

    • a previously confirmed campaign stays confirmed on its original time;
    • a never-confirmed campaign drops back to Awaiting confirmation, where the joiner can accept the original schedule or propose again.

    The proposer is notified by DM and email, and your reason (if you typed one) is shown to them on the campaign page — "A proposed reschedule was declined. Reason: ..." — and in the notification.

Rules

  • One decider: only the side that did not propose can accept or decline. If you proposed, you wait.
  • Any number of rounds: a declined or superseded proposal doesn't end anything — either side can propose again as long as the campaign's current go-live is still ahead.
  • Everything is renegotiable: date, time, timezone and duration all travel together in a proposal, within the same limits as creation — go-live within 14 days, in the future, one of the standard durations.
  • Notifications at every step: proposal sent, accepted or declined — both sides get email, plus Telegram DMs when linked.

When a time has already passed

Two related edge cases:

  • Accepting an elapsed go-live is refused. A code can sit for hours before it's actioned; if the proposed go-live passed in the meantime, pressing accept returns an error and asks for a fresh proposal instead. This applies to the joiner's initial accept and to accepting a partner's proposal alike.
  • Accepting a partnership request whose go-live passed creates the campaign in Awaiting confirmation rather than Confirmed, and the requester is told to agree a new time — the proposal flow above is exactly how you do that.
Once delivery starts, timing is locked

Proposals are only possible while the campaign is being set up or is confirmed with its go-live still ahead. Once both posts are approved and the campaign is handed to the delivery bot as Scheduled, the timing can no longer be changed — your options are to let it run or cancel before go-live.

FAQ

We agreed a new time in chat — do we both need to do something on Onflow Ads?

Yes: one of you presses Propose new time and sends the agreed schedule; the other presses Accept changes. The bot delivers on the schedule stored in the campaign, not on what you agreed elsewhere.

Does proposing changes reset our posts?

No. Posts and their approvals are independent of scheduling — only editing a post resets its approval.

My partner declined but gave no reason

The reason field is optional. The campaign simply reverts; you can propose different timing or keep the original.

How many times can we go back and forth?

There's no fixed cap — but remember the anti-ghost clock: a joined campaign that never reaches confirmation is auto-released after about two days. See Rules and fairness.


Next: Creatives: posts and delivery — with the schedule agreed, it is time to write the post that runs in your partner's channel.